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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x427fb4
sub esp, 0xa4
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x7c]
mov dword [esp], ecx
call fcn.0040a060
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [0x54caac]
mov dword [esp + 0x8c], eax
mov eax, dword [0x513114]
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
lea eax, [0x427fc0]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0xa0], eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00428790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xa8]
xor ebx, ebx
xor ebp, ebp
mov esi, 0xffffffff
jmp 0x42750a
mov edi, dword [esp + 0x44]
lea ebx, [edi + 1]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
mov ebp, esi
mov eax, edi
mov dword [esp + 0x58], ebp
cmp ebx, 4
jge 0x4275f6
jae 0x427fa7
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], esi
lea edi, [0x513610]
mov esi, dword [edi + ebx*4]
cmp esi, 0x20
sbb edi, edi
mov ecx, esi
mov ebp, 1
shl ebp, cl
and ebp, edi
mov dword [esp + 0x5c], ebp
lea ebp, [0x513620]
mov ebp, dword [ebp + ebx*4]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x58]
shl ebp, cl
and ebp, edi
lea esi, [ebx + ebx*2]
mov edi, dword [edx + esi*4 + 8]
mov esi, dword [edx + esi*4]
mov ecx, esi
mov esi, dword [esp + 0x5c]
add esi, ebp
cmp edi, esi
jb 0x427f9e
cmp ebp, esi
ja 0x427f95
mov dword [esp + 0x44], ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x98], ecx
mov eax, dword [edx + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004265a0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x58]
sub eax, ecx
neg eax
mov edx, ecx
shl ecx, 3
sar eax, 0x1f
and eax, ecx
mov ecx, dword [esp + 0x98]
add eax, ecx
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x5c]
mov ebp, ebx
neg ebx
and ebx, ecx
cmp ebx, edx
jne 0x4275de
lea ebx, [ebp - 1]
and ebx, ecx
jmp 0x4275e0
xor ebx, ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], ebx
mov ecx, ebx
xor esi, esi
xor edi, edi
jmp 0x4278a9
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.00426880
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0042a520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x4276d7
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004264e0
mov eax, dword [esp + 0x50]
shl eax, 0xd
add eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call fcn.004264e0
mov eax, dword [esp + 0x28]
shl eax, 0xd
add eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x58]
inc ecx
mov dword [esp], ecx
call fcn.004264e0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
sub ecx, edx
mov dword [esp + 4], ecx
lea edx, [esp + 0x9c]
call eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004272d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa4
ret
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx + 0x28]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 0x58]
cmp eax, ecx
jae 0x42789d
lea ecx, [edx + eax*8]
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00428800
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call fcn.00428840
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call fcn.00428890
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
call fcn.004360d0
lea eax, [0x4b3366]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.004369a0
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.004367a0
lea eax, [0x4b0cec]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov eax, dword [esp + 0x58]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004367a0
lea eax, [0x4b1068]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0c9e]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
call fcn.00436130
call fcn.004360d0
lea eax, [0x4b3725]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.00436640
call fcn.004362e0
call fcn.00436130
lea eax, [0x4b2eaf]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00434a60
call fcn.0045d960
inc ebx
mov esi, edx
mov edx, dword [esp + 0x58]
cmp ebx, ebp
jge 0x427a44
jae 0x427f8c
mov dword [esp + 0x24], esi
lea esi, [eax + ebx*8]
mov edx, dword [esi + 4]
mov dword [esp + 0x78], edx
test edx, edx
sete dl
mov esi, dword [esi]
mov dword [esp + 0x74], esi
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and edx, esi
test dl, dl
je 0x4278e3
xor edx, edx
jmp 0x4278a2
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
lea edx, [ebx + ecx]
mov dword [esp + 0x88], edx
mov dword [esp + 4], edx
call fcn.004265f0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
shl ebx, 0xd
mov dword [esp + 4], ebx
lea edx, [esp + 0x9c]
call eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call fcn.00428800
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0xac]
cmp ebx, edx
jbe 0x427a14
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call fcn.00428840
mov eax, dword [esp + 0xac]
cmp dword [esp + 8], eax
jae 0x4274e9
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4279d0
mov ecx, dword [esp + 0x34]
cmp ecx, 0x20
sbb ebx, ebx
mov ebp, 1
shl ebp, cl
and ebp, ebx
mov ebx, dword [esp + 0x30]
cmp ebx, ebp
jb 0x4279d0
add edx, ebp
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
jmp 0x4278a2
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00428890
mov ecx, dword [esp + 0x34]
cmp ecx, 0x20
sbb edi, edi
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x54]
lea ebx, [eax + 1]
shl ebx, cl
and edi, ebx
sub edi, edx
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x94]
jmp 0x4278a2
test ecx, ecx
jne 0x427a2b
mov ecx, dword [esp + 0x34]
cmp ecx, 0x20
sbb edi, edi
mov eax, dword [esp + 0x54]
shl eax, cl
and edi, eax
jmp 0x427a2f
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x5c]
mov esi, edx
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xac]
cmp ebx, esi
jbe 0x427d77
mov esi, dword [esp + 0x44]
test esi, esi
je 0x427d58
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.00428800
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
call fcn.00428840
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.00428890
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
call fcn.004360d0
lea eax, [0x4b3366]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.004369a0
mov eax, dword [esp + 0x44]
lea ecx, [eax - 1]
mov edx, ecx
sar ecx, 0x1f
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004367a0
lea eax, [0x4b0cec]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov eax, dword [esp + 0x38]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004367a0
lea eax, [0x4b0ed6]
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.00436640
call fcn.004362e0
call fcn.00436130
call fcn.004360d0
lea eax, [0x4b3333]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.004369a0
mov eax, dword [esp + 0x44]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x70], eax
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004367a0
lea eax, [0x4b1d42]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b1306]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.004369a0
mov eax, dword [esp + 0x48]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004367a0
call fcn.004362e0
call fcn.00436130
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + 0x34]
mov dword [esp], eax
call fcn.0042c260
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
call fcn.004360d0
lea eax, [0x4b544d]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00436820
lea eax, [0x4b1169]
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.004369a0
mov eax, dword [esp + 0x58]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004367a0
call fcn.004362e0
call fcn.00436130
mov eax, dword [esp + 0x44]
lea ecx, [0x513630]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x84], ecx
lea edx, [0x513610]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x80], edx
call fcn.004360d0
lea eax, [0x4b65ff]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b41a9]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00436640
call fcn.004362e0
call fcn.00436130
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x5c]
xor edx, edx
jmp 0x427f65
mov eax, dword [0x513118]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], eax
add esp, 0xa4
ret
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004265f0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
shl eax, 0xd
mov dword [esp + 4], eax
call fcn.0042c140
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.0042c260
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004272d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa4
ret
mov dword [esp + 0x4c], edx
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov dword [esp + 0x18], ebx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00428800
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp], edx
call fcn.00428840
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
call fcn.00428890
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
call fcn.004360d0
lea eax, [0x4b3366]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.004369a0
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
call fcn.004367a0
lea eax, [0x4b0cec]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + eax]
mov ebx, edx
sar edx, 0x1f
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.004367a0
lea eax, [0x4b1068]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0ca0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.00436640
lea eax, [0x4b0c9e]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004369a0
call fcn.00436130
mov eax, dword [esp + 0x4c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x5c]
cmp edx, ecx
jge 0x427f76
jb 0x427ded
mov eax, edx
call fcn.0045d960
lea eax, [0x4b2eaf]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00434a60
mov eax, ebx
mov ecx, ebp
call fcn.0045d960
mov eax, ebp
mov ecx, esi
call fcn.0045d9c0
mov ecx, esi
mov edx, edi
call fcn.0045d9a0
mov eax, ebx
mov ecx, 4
call fcn.0045d960
nop
call fcn.0045c4a0
jmp fcn.00427420