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

Disassembly:
mov eax, 0x609dc6
call fcn.005f870c
sub esp, 0xa4
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
mov dword [ebp - 0x24], edi
lea esi, [ebx + 0x34]
push dword [esi]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], edi
call fcn.0046458f
mov dword [ebp - 4], edi
lea edi, [ebx + 0x2c]
mov eax, dword [edi]
mov dword [ebp - 0x18], edi
cmp eax, dword [0x6a677c]
je 0x421475
push eax
mov ecx, esi
call fcn.0046458f
mov eax, dword [ebp - 0x14]
mov esi, dword [edi]
add eax, 0x4d4
lea ecx, [esi + 0x4d4]
mov dword [ebp - 0x24], eax
call fcn.0040aefe
test al, al
je 0x4215ca
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 1
push eax
lea ecx, [esi + 0x4d4]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x30], 0x20
mov byte [ebp - 0x2f], 0
call fcn.00403e6c
and dword [ebp - 0x28], 0
lea eax, [ebp - 0x28]
push eax
mov eax, ebx
mov byte [ebp - 4], 2
call fcn.00420643
mov eax, dword [edi]
cmp dword [eax + 0x4d4], 0x6a6728
je 0x42156a
push 0x6a78b0
lea ecx, [eax + 0x4d4]
call fcn.004069e3
test al, al
jne 0x42156a
and dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x421503
mov eax, dword [eax - 4]
jmp 0x421505
xor eax, eax
cmp dword [ebp - 0x10], eax
jge 0x421528
push esi
lea eax, [ebp - 0x2c]
call fcn.00429c8b
test eax, eax
jge 0x421520
push esi
push dword [ebp + 8]
call fcn.00420576
inc dword [ebp - 0x10]
add esi, 4
jmp 0x4214f7
mov eax, dword [ebp - 0x2c]
and dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x42153e
mov eax, dword [eax - 4]
jmp 0x421540
xor eax, eax
cmp dword [ebp - 0x10], eax
jge 0x421595
push dword [ebp - 0x1c]
lea eax, [ebp - 0x28]
call fcn.00429c8b
test eax, eax
jge 0x421561
push dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov esi, ebx
call fcn.004204ac
inc dword [ebp - 0x10]
add dword [ebp - 0x1c], 4
jmp 0x421532
and dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x42157d
mov eax, dword [eax - 4]
jmp 0x42157f
xor eax, eax
cmp dword [ebp - 0x10], eax
jge 0x421595
push esi
push dword [ebp + 8]
call fcn.00420576
inc dword [ebp - 0x10]
add esi, 4
jmp 0x421571
push dword [ebx + 0x34]
mov ecx, edi
call fcn.0046458f
mov eax, dword [edi]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
add eax, 0x4d4
push eax
push dword [ebp - 0x24]
push ebx
call dword [edx + 0x21c]
lea ecx, [ebp - 0x28]
call fcn.004043bc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.004043bc
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
lea eax, [esi + 0x94]
call fcn.0040cb18
mov edi, 0x80000000
test al, al
je 0x42165f
cmp dword [esi + 0x4c8], edi
je 0x4215fa
mov eax, dword [esi + 0x4c8]
cmp eax, edi
je 0x42165f
cmp eax, 3
jne 0x42165f
lea ecx, [esi + 0xa4]
call fcn.0040bb92
test eax, eax
je 0x42161f
lea ecx, [esi + 0xa4]
call fcn.0040bb92
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
test al, al
jne 0x421649
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
lea ecx, [esi + 0x16c]
call fcn.0040bb92
test eax, eax
je 0x42169f
lea ecx, [esi + 0x16c]
call fcn.0040bb92
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
test al, al
je 0x42169f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push eax
push 3
push ebx
call dword [edx + 0x26c]
jmp 0x42169f
mov ecx, dword [ebx + 0xc8]
test ecx, ecx
je 0x42169f
mov eax, dword [ecx]
call dword [eax]
cmp eax, 3
jne 0x42169f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 0x4c8]
cmp ecx, edi
je 0x421693
test ecx, ecx
je 0x421693
add eax, 0x94
call fcn.0040cb18
test al, al
jne 0x42169f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x270]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x4ec]
mov esi, ecx
sub esi, edi
neg esi
sbb esi, esi
and esi, ecx
mov ecx, dword [eax + 0x568]
mov eax, ecx
sub eax, edi
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x4ec]
mov dword [ebp - 0x40], ecx
mov ecx, edx
sub ecx, edi
neg ecx
sbb ecx, ecx
and ecx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x568]
mov ecx, edx
sub ecx, edi
neg ecx
sbb ecx, ecx
and ecx, edx
mov dword [ebp - 0x24], esi
cmp esi, dword [ebp - 0x1c]
jne 0x421700
cmp eax, ecx
je 0x421846
xor ecx, ecx
cmp dword [ebp - 0x1c], 4
lea eax, [ebx + 0xe0]
sete cl
shl ecx, 4
xor ecx, dword [eax]
and ecx, 0x10
xor dword [eax], ecx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x46c]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x460]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
test esi, esi
je 0x4217a6
mov eax, dword [ebp - 0x18]
push dword [eax]
and dword [ebp - 0x34], 0
lea ecx, [ebp - 0x34]
call fcn.0046458f
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 3
push dword [ebp - 0x14]
call fcn.0046458f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x46c]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x460]
mov ecx, dword [eax]
push dword [ebp - 0x34]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
call fcn.0046458f
push 0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.0046458f
cmp dword [ebp - 0x10], 0
je 0x42181a
cmp dword [ebp - 0x10], ebx
je 0x42181a
test esi, esi
je 0x4217c3
mov eax, dword [ebp - 0x40]
push ebx
add eax, 0xdc
call fcn.004ab712
cmp dword [ebp - 0x1c], 0
je 0x42181a
mov eax, dword [ebp - 0x10]
push ebx
push eax
push dword [ebp + 8]
lea esi, [eax + 0xdc]
call fcn.004ab793
mov eax, dword [ebx]
lea ecx, [ebp - 0x80]
push ecx
mov ecx, ebx
call dword [eax + 0x460]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x4c], esi
call fcn.0042a577
pop ecx
pop ecx
test al, al
jne 0x421817
mov eax, dword [ebp - 0x48]
sub esi, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
sub dword [ebx + 0x78], esi
sub dword [ebx + 0x7c], eax
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x1c]
je 0x421846
cmp esi, 4
jne 0x421846
push dword [ebp + 8]
mov esi, ebx
call fcn.00414e43
mov ecx, dword [ebp + 8]
test al, al
mov eax, dword [ecx]
push ebx
je 0x421840
call dword [eax + 0x22c]
jmp 0x421846
call dword [eax + 0x23c]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
call fcn.0040e379
test al, al
jne 0x421860
mov ecx, dword [esi]
call fcn.0040e379
test al, al
je 0x4218ac
push esi
lea eax, [ebp - 0x5c]
push eax
call fcn.0042979a
lea eax, [ebx + 0x34]
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 4
call fcn.0042979a
mov byte [ebp - 4], 5
mov eax, dword [esi]
mov edx, dword [ebx]
push eax
push dword [ebp - 0x14]
mov ecx, ebx
push dword [ebp + 8]
call dword [edx + 0x3b4]
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 4
call fcn.004297cf
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0
call fcn.004297cf
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [0x6a677c]
je 0x42199a
mov eax, dword [esi]
add eax, 0x94
lea edi, [ecx + 0x94]
call fcn.0040caef
mov byte [ebp - 0x1d], al
mov eax, edi
call fcn.0040caef
mov cl, byte [ebp - 0x1d]
cmp al, cl
je 0x421929
push esi
lea eax, [ebp - 0x54]
push eax
call fcn.0042979a
lea eax, [ebx + 0x34]
push eax
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 6
call fcn.0042979a
push 1
push ebx
mov byte [ebp - 4], 7
call fcn.00415d1d
pop ecx
mov ecx, dword [ebp + 8]
push eax
call fcn.00414c2d
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 6
call fcn.004297cf
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0
call fcn.004297cf
mov eax, dword [esi]
add eax, 0x94
call fcn.0040cb18
mov edi, dword [ebp - 0x14]
add edi, 0x94
mov byte [ebp - 0x1d], al
mov eax, edi
call fcn.0040cb18
mov cl, byte [ebp - 0x1d]
cmp al, cl
je 0x421995
mov eax, dword [esi]
add eax, 0x94
call fcn.0040cb18
movzx eax, al
push eax
push 0x11
push ebx
push ebx
lea ecx, [ebp - 0xb0]
call fcn.0040ef10
mov ecx, dword [ebp + 8]
push 1
lea edx, [ebp - 0xb0]
mov byte [ebp - 4], 8
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0
call fcn.0040ef70
mov edi, 0x80000000
mov esi, dword [esi]
mov eax, dword [esi + 0x5d4]
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx + 0x5d4]
je 0x421a96
and dword [ebp - 0x1c], 0
push esi
lea ecx, [ebp - 0x1c]
call fcn.0046458f
mov byte [ebp - 4], 9
push dword [ebp - 0x14]
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x10]
call fcn.0046458f
lea esi, [ebx + 0xc8]
mov byte [ebp - 4], 0xa
mov ecx, dword [esi]
test ecx, ecx
je 0x4219fd
mov eax, dword [ecx]
call dword [eax]
cmp eax, 0xa
jne 0x4219fd
push dword [ebp - 0x10]
mov ecx, dword [esi]
push dword [ebp - 0x1c]
mov eax, dword [ecx]
push ebx
push dword [ebp + 8]
call dword [eax + 0x28]
jmp 0x421a6e
push 0x44
call fcn.005d9629
mov esi, eax
pop ecx
test esi, esi
je 0x421a59
mov dword [esi + 4], 0x63e9f8
mov dword [esi + 0x3c], 0x62dfa4
push 0
mov ecx, esi
mov dword [esi + 0x40], 0
call fcn.00415014
mov eax, dword [esi + 4]
mov dword [esi], 0x63e9b4
mov eax, dword [eax + 4]
mov dword [eax + esi + 4], 0x63e9e4
xor eax, eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x2c], eax
mov byte [esi + 0x30], al
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
jmp 0x421a5b
xor esi, esi
push dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
push dword [ebp - 0x1c]
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 0x268]
push dword [ebp + 8]
mov esi, dword [ebp - 0x1c]
call fcn.004212b2
pop ecx
push 0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
call fcn.0046458f
push 0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call fcn.0046458f
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov eax, dword [ebp - 0x14]
call fcn.0040e2de
test al, al
jne 0x421ab1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x400]
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x6a677c]
cmp ecx, eax
je 0x421b34
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
cmp edx, eax
je 0x421b34
mov ecx, dword [ecx + 0x4a0]
mov esi, dword [edx + 0x4a0]
mov eax, ecx
sub eax, edi
neg eax
sbb eax, eax
and eax, ecx
mov ecx, esi
sub ecx, edi
neg ecx
sbb ecx, ecx
and ecx, esi
cmp eax, ecx
jne 0x421b11
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x4a4]
mov edx, dword [edx + 0x4a4]
mov eax, ecx
sub eax, edi
neg eax
sbb eax, eax
and eax, ecx
mov ecx, edx
sub ecx, edi
neg ecx
sbb ecx, ecx
and ecx, edx
cmp eax, ecx
je 0x421b34
mov esi, dword [ebp + 8]
mov edi, dword [esi]
push 1
xor ecx, ecx
push ecx
push ecx
mov eax, 0x40fe0f
push eax
push ebx
call fcn.0042a509
add esp, 0x10
push eax
mov ecx, esi
call dword [edi + 0x120]
push dword [ebp - 0x14]
mov eax, dword [ebx]
push dword [ebp + 8]
mov ecx, ebx
call dword [eax + 0x3b0]
test byte [ebx + 0xe0], 4
jne 0x421bf9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp dword [eax + 0x5a0], 0
je 0x421bf9
mov ecx, dword [eax + 0x5a0]
mov edx, dword [ebp - 0x14]
cmp ecx, dword [edx + 0x5a0]
je 0x421bf9
and dword [ebp - 0x24], 0
mov esi, ecx
lea edi, [ebp - 0x24]
call fcn.0051f3f3
xor esi, esi
push esi
mov byte [ebp - 4], 0xb
or dword [ebx + 0xe0], 4
push esi
lea ecx, [ebp - 0x68]
call fcn.0040eee7
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0x24]
mov eax, dword [ebx]
push esi
push edi
lea ecx, [ebp - 0x68]
push ecx
push dword [ebp + 8]
mov ecx, ebx
call dword [eax + 0xd0]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
cmp eax, esi
je 0x421bd5
cmp eax, dword [0x6a677c]
jne 0x421bd5
push esi
push 1
push dword [ebp + 8]
mov ecx, ebx
call fcn.00420f6d
and dword [ebx + 0xe0], 0xfffffffb
push 0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xb
call fcn.0046458f
mov byte [ebp - 4], 0
test edi, edi
je 0x421bf9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov ecx, dword [esi + 0x4a0]
mov eax, ecx
mov edx, 0x80000000
sub eax, edx
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x14]
mov edi, dword [ecx + 0x4a0]
mov ecx, edi
sub ecx, edx
neg ecx
sbb ecx, ecx
and ecx, edi
cmp eax, ecx
jne 0x421c51
mov esi, dword [esi + 0x4a4]
mov ecx, dword [ebp - 0x14]
mov eax, esi
sub eax, edx
neg eax
sbb eax, eax
and eax, esi
mov esi, dword [ecx + 0x4a4]
mov ecx, esi
sub ecx, edx
neg ecx
sbb ecx, ecx
and ecx, esi
cmp eax, ecx
je 0x421c5b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x410]
or dword [ebp - 4], 0xffffffff
push 0
lea ecx, [ebp - 0x14]
call fcn.0046458f
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4