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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4444e9
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x458220]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push esi
push edi
mov eax, dword [0x458220]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0x20]
mov ebx, edx
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0x24]
push ebx
mov edi, ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0x64], esi
call fcn.00426326
test al, al
jne 0x42b835
mov eax, 0x80004001
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x160]
xor ecx, esp
call fcn.004363e5
mov esp, ebp
pop ebp
ret 0x28
xor eax, eax
mov byte [esi], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x180], eax
lea eax, [esp + 0xbc]
push eax
call fcn.00434e3d
lea esi, [esp + 0xbc]
mov byte [esp + 0x180], 1
call fcn.00434e7a
and dword [esp + 0x18], 0
lea eax, [ebx + 0x20]
call fcn.0041b884
test eax, eax
jle 0x42b990
push 0x18
call fcn.00436468
test eax, eax
pop ecx
je 0x42b8a1
call fcn.00434d12
mov edi, eax
jmp 0x42b8a3
xor edi, edi
mov ecx, edi
neg ecx
lea eax, [edi + 8]
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x34]
call fcn.0042aeb2
push dword [ebp + 0x14]
lea ecx, [esp + 0xc0]
push dword [ebp + 0x10]
mov eax, edi
mov byte [esp + 0x188], 2
call fcn.00434d81
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
lea ebx, [eax + ecx*8]
mov eax, dword [ebx]
add dword [ebp + 0x10], eax
mov eax, dword [ebx + 4]
push 0x30
adc dword [ebp + 0x14], eax
call fcn.00436468
test eax, eax
pop ecx
je 0x42b902
mov esi, eax
call fcn.004349f1
mov dword [esp + 0x24], eax
jmp 0x42b907
and dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 8]
neg ecx
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x1c]
call fcn.0042aeb2
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 3
call fcn.0042aec0
mov edi, eax
mov eax, dword [esp + 0x24]
call fcn.00434ab1
push dword [ebx + 4]
mov eax, dword [esp + 0x28]
push dword [ebx]
call fcn.00434abe
mov eax, esi
push eax
lea edi, [esp + 0xc8]
call fcn.0041b521
mov eax, esi
mov byte [esp + 0x180], 2
call fcn.00435da8
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 1
call fcn.00435da8
mov eax, dword [esp + 0x28]
inc dword [esp + 0x18]
add eax, 0x20
call fcn.0041b884
cmp dword [esp + 0x18], eax
jl 0x42b88c
mov eax, dword [esp + 0x28]
call fcn.004246b5
mov dword [esp + 0x24], eax
lea eax, [esp + 0xe4]
push eax
call fcn.0042b416
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x184], 4
call fcn.0042b4f7
mov ebx, dword [esp + 0x5c]
cmp byte [ebx], 0
pop ecx
je 0x42b9ec
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.0042b618
neg al
sbb al, al
inc al
pop ecx
pop ecx
je 0x42bc94
lea esi, [ebx + 0x60]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x42b9fc
call fcn.004367c5
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jbe 0x42ba11
call fcn.004367c5
mov eax, dword [esp + 0x20]
push edi
push esi
push eax
push esi
lea eax, [esp + 0x54]
push eax
push esi
call fcn.0042eb5a
lea esi, [ebx + 0x5c]
call fcn.0041fb26
push 0x74
call fcn.00436468
pop ecx
mov dword [esp + 0x44], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x42ba48
push eax
call fcn.0042dfef
jmp 0x42ba4a
xor eax, eax
test eax, eax
mov byte [esp + 0x180], 4
mov dword [ebx + 0x54], eax
je 0x42ba5e
lea edi, [eax + 8]
jmp 0x42ba60
xor edi, edi
call fcn.004181fc
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x42ba71
lea ecx, [eax + 0xc]
jmp 0x42ba73
xor ecx, ecx
lea edx, [esp + 0xe4]
mov dword [ebx + 0x58], ecx
mov eax, dword [ecx]
push edx
call dword [eax]
test eax, eax
mov dword [esp + 0x20], eax
je 0x42bad3
lea esi, [esp + 0x124]
call fcn.00425078
lea edi, [esp + 0xe4]
call fcn.0042b493
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00434e69
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.0042c6c5
mov eax, dword [esp + 0x20]
jmp 0x42b80f
and dword [esp + 0x18], 0
cmp dword [esp + 0x24], 0
jle 0x42bc73
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.004246c8
mov esi, eax
lea eax, [esp + 0x38]
call fcn.004181cf
lea eax, [esp + 0x3c]
call fcn.004181cf
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x188], 7
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x40]
call fcn.00434707
add esp, 0x14
test eax, eax
jne 0x42c035
lea eax, [esp + 0x14]
call fcn.004181cf
mov eax, esi
mov byte [esp + 0x180], 8
call fcn.00425102
test al, al
je 0x42bb85
lea ecx, [esp + 0x38]
call fcn.004192cb
test al, al
je 0x42c0a0
lea eax, [esp + 0x38]
call fcn.0042aec0
mov edi, eax
lea esi, [esp + 0x14]
call fcn.004181fc
lea eax, [esp + 0x38]
call fcn.0042aec0
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042e801
jmp 0x42bbbd
lea ecx, [esp + 0x3c]
call fcn.004192cb
test al, al
je 0x42c0a0
lea eax, [esp + 0x3c]
call fcn.0042aec0
mov edi, eax
lea esi, [esp + 0x14]
call fcn.004181fc
lea eax, [esp + 0x3c]
call fcn.0042aec0
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042e81f
lea eax, [esp + 0x14]
push eax
lea edi, [ebx + 0x60]
call fcn.0042c6ea
lea eax, [esp + 0x50]
call fcn.004181cf
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 9
call fcn.004310f1
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
push 0x100f
call dword [edx]
lea ecx, [esp + 0x50]
call fcn.004192cb
test al, al
je 0x42bc1d
lea eax, [esp + 0x50]
call fcn.0042aec0
push dword [esp + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov esi, eax
test esi, esi
jne 0x42c0bb
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.00435da8
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00435da8
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.00435da8
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.00435da8
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x42bae3
lea esi, [ebx + 4]
lea edi, [esp + 0xe4]
call fcn.0042c451
lea ecx, [esi + 0x40]
lea eax, [esp + 0x124]
call fcn.00425fe1
mov byte [ebx], 1
mov ecx, dword [ebx + 0x58]
mov eax, dword [ecx]
xor esi, esi
call dword [eax + 4]
cmp dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x18], esi
jle 0x42c1b9
lea eax, [esp + 0x40]
call fcn.004310f1
mov dword [esp + 0xe0], eax
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.004246c8
mov ecx, dword [ebx + 0x64]
test ecx, ecx
mov edi, eax
mov dword [esp + 0x4c], edi
je 0x42bcf0
mov eax, dword [ebx + 0x68]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x54], eax
jb 0x42bcf5
call fcn.004367c5
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0x54]
lea esi, [eax + ecx*4]
lea eax, [esp + 0x40]
call fcn.004181cf
push dword [esp + 0xe0]
mov byte [esp + 0x184], 0xa
mov ecx, dword [esi]
mov eax, dword [ecx]
push 0x1004
call dword [eax]
lea ecx, [esp + 0x40]
call fcn.004192cb
test al, al
je 0x42bd7e
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
call fcn.0042135f
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
ja 0x42c20d
test eax, eax
jbe 0x42bd7e
lea eax, [esp + 0x40]
call fcn.0042aec0
mov edi, dword [eax]
push dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
call fcn.0040b122
mov ecx, dword [esp + 0x48]
push eax
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x42c228
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00435da8
lea eax, [esp + 0x14]
call fcn.004181cf
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 0xb
call fcn.004310f1
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
push 0x1007
call dword [edx]
lea ecx, [esp + 0x14]
call fcn.004192cb
test al, al
je 0x42bde1
lea eax, [esp + 0x14]
call fcn.0042aec0
push dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x44], eax
jne 0x42c240
lea eax, [esp + 0x2c]
call fcn.004181cf
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xc
call fcn.004310f1
mov esi, dword [esi]
mov edx, dword [esi]
push eax
push 0x1012
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x2c]
call fcn.004192cb
test al, al
je 0x42bf42
mov ecx, dword [esp + 0xd8]
xor esi, esi
cmp ecx, esi
je 0x42c25a
mov dword [esp + 0x150], 7
mov dword [esp + 0x14c], esi
mov word [esp + 0x13c], si
lea edx, [esp + 0x138]
mov byte [esp + 0x180], 0xd
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
mov edi, eax
cmp edi, esi
jne 0x42c286
lea eax, [esp + 0x64]
call fcn.0040b092
mov byte [esp + 0x180], 0xe
mov eax, dword [esp + 0x60]
mov byte [eax], 1
lea eax, [esp + 0x138]
lea esi, [esp + 0x154]
call fcn.00403959
mov byte [esp + 0x180], 0xf
mov eax, dword [esp + 0x168]
add eax, eax
push eax
lea edi, [esp + 0x68]
mov dword [esp + 0x20], eax
call fcn.0040b0c1
xor edi, edi
cmp dword [esp + 0x168], edi
jle 0x42bee4
lea eax, [esp + 0x64]
call fcn.0040b122
mov esi, eax
lea eax, [esp + 0x154]
call fcn.00403996
movzx eax, word [eax]
mov byte [esi + edi*2], al
mov byte [esi + edi*2 + 1], ah
inc edi
cmp edi, dword [esp + 0x168]
jl 0x42bec4
cmp dword [esp + 0x1c], 0
jbe 0x42bf15
lea eax, [esp + 0x2c]
call fcn.0042aec0
push dword [esp + 0x1c]
mov esi, eax
mov edi, dword [esi]
lea eax, [esp + 0x68]
call fcn.0040b122
push eax
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x42c2b9
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115e
lea ecx, [esp + 0x64]
call fcn.0040b0a4
push 0
push 1
lea esi, [esp + 0x140]
call fcn.0040115e
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00435da8
mov ecx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
inc dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
push ecx
lea esi, [esp + 0x80]
mov byte [esp + 0x184], 0x11
call fcn.0042c5ce
push edi
lea esi, [esp + 0xb0]
call fcn.0042c5ce
test edi, edi
jbe 0x42bfee
mov eax, dword [esp + 0x28]
add eax, 0x30
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], edi
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
call fcn.0042eb1e
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0xb0]
call fcn.0042c66b
inc dword [esp + 0x34]
dec dword [esp + 0x4c]
jne 0x42bfc2
and dword [esp + 0x1c], 0
cmp dword [esp + 0x20], 0
jbe 0x42c12b
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.004251d7
test eax, eax
jl 0x42c0e4
mov edi, dword [esp + 0x28]
add edi, 0x10
mov esi, eax
call fcn.0042eb1e
mov edi, dword [esp + 0x28]
mov esi, dword [eax + 4]
add edi, 0x30
call fcn.0042eb1e
jmp 0x42c100
mov ebx, eax
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.00435da8
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.00435da8
lea esi, [esp + 0x124]
call fcn.00425078
lea edi, [esp + 0xe4]
call fcn.0042b493
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00434e69
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.0042c6c5
mov eax, ebx
jmp 0x42b80f
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00435da8
mov ebx, 0x80004001
jmp 0x42c037
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.00435da8
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00435da8
mov ebx, esi
jmp 0x42c037
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.00425244
test eax, eax
jl 0x42c2d6
mov ecx, dword [esp + 0x78]
lea eax, [ecx + eax*8]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
lea esi, [esp + 0x80]
call fcn.0042c66b
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jb 0x42bffe
mov edi, dword [esp + 0xb0]
cmp edi, dword [esp + 0xb4]
jbe 0x42c147
call fcn.004367c5
cmp edi, dword [esp + 0xb4]
jb 0x42c14e
call fcn.004367c5
mov esi, dword [esp + 0x80]
cmp esi, dword [esp + 0x84]
jbe 0x42c16a
call fcn.004367c5
cmp esi, dword [esp + 0x84]
jb 0x42c171
call fcn.004367c5
mov ecx, dword [ebx + 0x58]
mov eax, dword [ecx]
push edi
push esi
push dword [esp + 0x20]
call dword [eax + 8]
lea esi, [esp + 0xac]
call fcn.00425078
lea esi, [esp + 0x7c]
call fcn.00425078
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00435da8
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x42bcc8
xor esi, esi
cmp dword [esp + 0x118], esi
mov dword [esp + 0x20], esi
je 0x42c1d9
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0x118]
sar eax, 2
jne 0x42c1de
call fcn.004367c5
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x11c]
push dword [eax]
lea ebx, [esp + 0x28]
lea eax, [esp + 0xec]
call fcn.0042f454
xor edi, edi
cmp eax, edi
je 0x42c2f0
mov ebx, eax
jmp 0x42c059
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00435da8
mov ebx, 0x80004001
jmp 0x42c059
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00435da8
mov ebx, edi
jmp 0x42c059
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00435da8
mov ebx, dword [esp + 0x44]
jmp 0x42c059
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00435da8
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00435da8
mov ebx, 0x80004005
jmp 0x42c059
push esi
push 1
lea esi, [esp + 0x140]
call fcn.0040115e
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00435da8
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00435da8
jmp 0x42c239
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.0040115e
lea ecx, [esp + 0x64]
call fcn.0040b0a4
push 0
jmp 0x42c287
lea esi, [esp + 0xac]
call fcn.00425078
lea esi, [esp + 0x7c]
call fcn.00425078
jmp 0x42c26b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
call fcn.0042e83d
cmp dword [esp + 0x24], edi
jne 0x42c30d
xor ebx, ebx
jmp 0x42c059
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov byte [esp + 0x180], 0x12
xor ebx, ebx
mov edx, dword [esp + 0xc8]
cmp edx, edi
mov eax, dword [esp + 0xcc]
jne 0x42c342
xor ecx, ecx
jmp 0x42c349
mov ecx, eax
sub ecx, edx
sar ecx, 2
cmp ebx, ecx
jge 0x42c38e
cmp edx, edi
je 0x42c35a
sub eax, edx
sar eax, 2
cmp ebx, eax
jb 0x42c366
call fcn.004367c5
mov edx, dword [esp + 0xc8]
lea eax, [edx + ebx*4]
call fcn.0042aec0
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
lea esi, [esp + 0xa0]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call fcn.0042c74a
inc ebx
jmp 0x42c32c
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov eax, dword [esp + 0xdc]
mov byte [esp + 0x180], 0x13
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
lea esi, [esp + 0x90]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
call fcn.0042c74a
mov eax, dword [esp + 0x58]
add eax, 0x5c
call fcn.0042aec0
push dword [esp + 0xd4]
mov edx, dword [eax]
mov ecx, esi
push ecx
lea ecx, [esp + 0xa4]
push ecx
mov ecx, eax
call dword [edx + 0x10]
cmp dword [esp + 0x90], edi
mov ebx, eax
je 0x42c40c
push dword [esp + 0x90]
call fcn.004363e0
pop ecx
cmp dword [esp + 0xa0], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
je 0x42c437
push dword [esp + 0xa0]
call fcn.004363e0
pop ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
jmp 0x42c059