Function at 0x20827640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
push edi
xor edi, edi
mov ecx, dword [ebp + 0x40]
mov eax, dword [ebp]
cmp ecx, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
jne 0x20827e17
mov cl, byte [eax + 0x1e]
test cl, cl
jne 0x20827e17
mov eax, dword [esp + 0x84]
cmp word [eax], di
lea esi, [eax + 8]
jle 0x20827e17
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push eax
push ecx
push 0
push ebp
call fcn.207f0320
mov edx, dword [esi + 0xc]
mov ebx, eax
push edx
call fcn.207f06f0
add esp, 0x14
mov dword [esi + 0xc], ebx
test ebx, ebx
je 0x208276b8
inc dword [ebx + 0x20]
mov eax, dword [esp + 0x84]
inc edi
add esi, 0x30
movsx ecx, word [eax]
cmp edi, ecx
jl 0x20827691
test ebx, ebx
je 0x20827e17
push 0
push 0x63
push ebx
push ebp
call fcn.20826e40
mov cl, byte [ebx + 0x34]
mov edi, eax
mov eax, dword [ebx + 0x1c]
add esp, 0x10
xor edx, edx
mov dword [esp + 0x20], edi
test eax, eax
setne dl
test cl, cl
mov dword [esp + 0x14], edx
je 0x2082770d
mov ecx, dword [ebp]
mov edx, dword [ecx + 0xc]
test dh, 8
jne 0x2082770d
mov cl, byte [ebp + 0x13]
test cl, cl
je 0x2082771d
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x20827734
mov edx, dword [ecx]
mov ecx, dword [edx + 0x34]
test ecx, ecx
jne 0x20827734
mov eax, dword [ebx + 4]
push eax
push 0x20723870
push ebp
call fcn.207e2030
add esp, 0xc
jmp 0x20827e17
test edi, edi
jne 0x20827753
test eax, eax
je 0x20827753
mov ecx, dword [ebx + 4]
push ecx
push 0x20723848
push ebp
call fcn.207e2030
add esp, 0xc
jmp 0x20827e17
mov edx, dword [ebx + 0x4c]
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.207fd510
push ebx
push ebp
mov dword [esp + 0x34], eax
call fcn.207f20c0
add esp, 0x10
test eax, eax
jne 0x20827e17
test edi, edi
je 0x20827786
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x1c], eax
inc eax
mov dword [ebp + 0x44], eax
mov ecx, dword [esp + 0x84]
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x80], eax
mov dword [ecx + 0x20], eax
mov esi, dword [ebp + 0x44]
inc esi
mov dword [ebp + 0x44], esi
mov eax, dword [ebx + 0x14]
test eax, eax
mov ecx, esi
je 0x208277b5
inc ecx
mov dword [ebp + 0x44], ecx
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x208277aa
push ebp
call fcn.2081a960
mov esi, eax
add esp, 4
test esi, esi
je 0x20827e17
mov al, byte [ebp + 0x13]
test al, al
jne 0x208277d8
push esi
call fcn.207ea8d0
add esp, 4
mov edx, dword [esp + 0x24]
push edx
push edi
push ebp
call fcn.207f4720
add esp, 0xc
test edi, edi
je 0x20827898
mov eax, dword [ebp + 0x188]
test eax, eax
je 0x208277fe
mov edi, dword [eax + 0x14]
jmp 0x20827803
mov edi, 0x63
push 0x5e
push esi
call fcn.207e8280
push esi
mov dword [esp + 0x40], eax
call fcn.207e84e0
push esi
mov dword [esp + 0x20], eax
call fcn.207e8550
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push 0
push eax
push ecx
push edi
push edx
push 0xffffffffffffffff
push ebx
push 1
push 0
push 0x63
push ebp
call fcn.20826ee0
push 0x5e
push esi
call fcn.207e8280
add esp, 0x44
mov dword [esp + 0x3c], eax
push esi
call fcn.207e8550
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x30]
push 0
push eax
push ecx
push edi
push edx
push 0xffffffffffffffff
push ebx
push 2
push 0
push 0x63
push ebp
call fcn.20826ee0
push 0x5e
push esi
call fcn.207e8280
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x6c]
push eax
push esi
call fcn.207e86e0
add esp, 0x40
mov eax, dword [esp + 0x14]
test eax, eax
je 0x2082793a
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp]
push eax
push ecx
mov dword [esp + 0x38], ecx
call fcn.2081f3b0
mov edi, eax
mov eax, dword [esp + 0x90]
add esp, 8
test eax, eax
je 0x20827906
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.2081ef60
push 0
push 0
push edi
push 0
push 0
push 0
push 0
push ebp
mov dword [esp + 0x5c], eax
call fcn.207f43d0
mov edx, dword [esp + 0x5c]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push ebp
call fcn.20819650
add esp, 0x50
mov edi, eax
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x48]
push eax
push 9
push ecx
call fcn.20819630
push 0
push 0
lea edx, [esp + 0x5c]
push 0
push edx
push edi
push ebp
call fcn.2081ae60
mov eax, dword [esp + 0x54]
push edi
push eax
call fcn.20819800
add esp, 0x2c
mov ecx, 9
xor eax, eax
lea edi, [esp + 0x58]
lea edx, [esp + 0x58]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push edi
push edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ecx
call fcn.2081fe50
add esp, 8
test eax, eax
jne 0x20827e17
mov eax, dword [esp + 0x18]
test byte [eax + 0xc], 0x80
je 0x20827998
mov edx, dword [ebp + 0x48]
inc edx
mov eax, edx
mov dword [ebp + 0x48], edx
push eax
push 0
push 0x30
push esi
mov dword [esp + 0x38], eax
call fcn.207e83a0
add esp, 0x10
test edi, edi
jne 0x20827abc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x20827abc
mov al, byte [ebx + 0x39]
test al, al
jne 0x20827abc
mov ecx, dword [esp + 0x18]
test byte [ecx + 0xc], 0x80
je 0x20827a5d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x20827a1e
push ebp
call fcn.2081a960
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [ebx + 0x18]
push edx
push 0
push eax
push ecx
push ebp
mov dword [esp + 0x4c], edi
call fcn.207eff10
mov edx, dword [ebx + 8]
push edx
push 0
push 0x65
push edi
call fcn.207e83a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebx + 0x18]
mov edi, dword [esp + 0xa8]
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edi
push 0xd
push edx
call fcn.207e81f0
add esp, 0x3c
jmp 0x20827a25
mov edi, dword [esp + 0x80]
push esi
call fcn.207e8550
add eax, 2
push eax
push edi
push 0x77
push esi
call fcn.207e83a0
mov eax, dword [esp + 0x3c]
push 1
push eax
push 0x2a
push esi
call fcn.207e83a0
push eax
push edi
push 0x6a
push esi
call fcn.207e83a0
push edi
push 0x21
push esi
call fcn.207e8310
add esp, 0x40
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x20827dd1
mov edi, dword [esp + 0x24]
mov ecx, dword [ebx + 0x18]
push edi
push ecx
push 0x61
push esi
call fcn.207e83a0
mov al, byte [ebp + 0x13]
add esp, 0x10
test al, al
jne 0x20827a95
mov edx, dword [ebx + 4]
push 0xfffffffffffffffe
push edx
push 0xffffffffffffffff
push esi
call fcn.207e8840
add esp, 0x10
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x20827dd1
mov eax, dword [ebx + 0x14]
push edi
push eax
push 0x61
push esi
call fcn.207e83a0
mov ebx, dword [ebx + 0x20]
add esp, 0x10
test ebx, ebx
jne 0x20827aa0
jmp 0x20827dd1
mov edx, dword [ebp + 0x48]
mov ecx, dword [esp + 0x88]
inc edx
push 0
mov dword [ebp + 0x48], edx
mov edi, edx
mov edx, dword [esp + 0x88]
push 0
push ecx
push edx
push ebp
call fcn.20836f90
add esp, 0x14
mov dword [esp + 0x34], eax
test eax, eax
je 0x20827e17
mov cl, byte [ebx + 0x39]
mov eax, dword [esp + 0x80]
neg cl
sbb ecx, ecx
push edi
and ecx, 0xffffffe3
push eax
add ecx, 0x28
push ecx
push esi
call fcn.207e83a0
push edi
push 0x38
push esi
call fcn.207e8310
mov edx, dword [esp + 0x34]
add esp, 0x1c
test byte [edx + 0xc], 0x80
je 0x20827b33
mov eax, dword [esp + 0x28]
push 1
push eax
push 0x2a
push esi
call fcn.207e83a0
add esp, 0x10
mov ecx, dword [esp + 0x34]
push ecx
call fcn.2083abb0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x20827b66
mov edx, dword [ebx + 8]
push edx
push 0
push 0x65
push esi
call fcn.207e83a0
mov eax, dword [esp + 0x2c]
push eax
push 0x72
push esi
call fcn.207e8310
add esp, 0x1c
push esi
call fcn.207e84e0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x20827b8f
mov ecx, dword [esp + 0x80]
push 9
push ecx
push ebx
push ebp
call fcn.2083f460
add esp, 0x10
mov eax, dword [esp + 0x20]
test eax, eax
je 0x20827ba5
mov edx, dword [esp + 0x10]
push edx
push esi
call fcn.207e8530
add esp, 8
mov eax, dword [esp + 0x34]
push eax
push edi
push 0x60
push esi
call fcn.207e83a0
mov ecx, dword [esp + 0x30]
add esp, 0x10
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x20827c3f
mov edx, dword [ebp + 0x48]
push edi
inc edx
push eax
mov dword [ebp + 0x48], edx
mov ecx, edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x2c], ecx
push edx
push 0x2e
push esi
call fcn.207e81f0
mov eax, dword [esp + 0x40]
add esp, 0x14
test eax, eax
je 0x20827bfd
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x80]
push eax
push ecx
push 0x2c
jmp 0x20827c06
mov edx, dword [esp + 0x24]
push edx
push 0
push 0x74
push esi
call fcn.207e83a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
add esp, 0x10
push edi
push eax
push ecx
push 0x6c
push esi
call fcn.207e81f0
mov edx, dword [esp + 0x4c]
push edx
push 0
push 0x5e
push esi
call fcn.207e83a0
mov eax, dword [esp + 0x60]
push eax
push esi
call fcn.207e86e0
add esp, 0x2c
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x20827d44
mov al, byte [ebx + 0x39]
test al, al
je 0x20827c7c
mov ecx, dword [ebx + 0x40]
push ebx
push ebp
mov dword [esp + 0x44], ecx
call fcn.207efe80
mov edx, dword [esp + 0x44]
push 0xfffffffffffffff6
push edx
push edi
push 1
push 0
push 0x7a
push esi
call fcn.207e8430
add esp, 0x24
jmp 0x20827d44
mov dl, byte [ebp + 0x13]
mov ecx, dword [esp + 0x80]
xor eax, eax
push edi
test dl, dl
sete al
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
push 0
push ecx
push 0x2e
push eax
mov dword [esp + 0x50], eax
call fcn.207e81f0
mov edi, dword [ebx + 0x14]
add esp, 0x14
test edi, edi
mov dword [esp + 0x38], eax
je 0x20827cfa
mov edx, dword [esp + 0x80]
inc edx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x80]
push 0
push 0
push eax
push edi
push ebp
call fcn.20827f70
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x38]
inc ecx
push ecx
push eax
mov eax, dword [ebp + 0xc]
push edx
push 0x40
push eax
call fcn.207e81f0
mov ecx, dword [esp + 0x4c]
mov edi, dword [edi + 0x20]
add esp, 0x28
inc ecx
test edi, edi
mov dword [esp + 0x24], ecx
jne 0x20827cbe
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x80]
xor ecx, ecx
test edi, edi
mov edi, dword [esp + 0x3c]
setne cl
push ecx
push edx
push 0x5b
push edi
call fcn.207e83a0
mov eax, dword [esp + 0x40]
add esp, 0x10
test eax, eax
je 0x20827d36
mov eax, dword [ebx + 4]
push 0xfffffffffffffffe
push eax
push 0xffffffffffffffff
push edi
call fcn.207e8840
add esp, 0x10
mov ecx, dword [esp + 0x38]
push ecx
push edi
call fcn.207e86e0
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x20827d69
mov edx, dword [esp + 0x40]
push edx
push 0
push 0x5e
push esi
call fcn.207e83a0
mov eax, dword [esp + 0x54]
push eax
push esi
call fcn.207e86e0
add esp, 0x18
mov ecx, dword [esp + 0x10]
push ecx
push 0
push 0x5e
push esi
call fcn.207e83a0
mov edx, dword [esp + 0x44]
push edx
push esi
call fcn.207e8530
mov eax, dword [esp + 0x2c]
add esp, 0x18
test eax, eax
jne 0x20827dd1
mov al, byte [ebx + 0x39]
test al, al
jne 0x20827dd1
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x20827dbe
mov eax, dword [esp + 0x80]
lea edi, [eax + 1]
mov ecx, dword [ebx + 0x14]
push ecx
push edi
push 0x21
push esi
call fcn.207e83a0
mov ebx, dword [ebx + 0x20]
add esp, 0x10
inc edi
test ebx, ebx
jne 0x20827da6
mov edx, dword [esp + 0x80]
push edx
push 0x21
push esi
call fcn.207e8310
add esp, 0xc
mov eax, dword [esp + 0x18]
test byte [eax + 0xc], 0x80
je 0x20827e17
mov al, byte [ebp + 0x13]
test al, al
jne 0x20827e17
mov eax, dword [ebp + 0x188]
test eax, eax
jne 0x20827e17
mov ecx, dword [esp + 0x28]
push 1
push ecx
push 0x5a
push esi
call fcn.207e83a0
push 1
push esi
call fcn.207e8e70
push 0xfffffffffffffffe
push 0x20723890
push 0
push 0
push esi
call fcn.207e8f10
add esp, 0x2c
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x18]
push edx
push esi
call fcn.207f4300
mov eax, dword [esp + 0x90]
push eax
push esi
call fcn.2081eea0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret