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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4416ff
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x455210]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push esi
push edi
mov eax, dword [0x455210]
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.0042378a
test al, al
jne 0x4292e4
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.00433865
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.004321ed
lea esi, [esp + 0xbc]
mov byte [esp + 0x180], 1
call fcn.0043222a
and dword [esp + 0x18], 0
lea eax, [ebx + 0x20]
call fcn.00414067
test eax, eax
jle 0x429441
push 0x18
call fcn.004338e8
test eax, eax
pop ecx
je 0x429352
mov esi, eax
call fcn.004320b3
mov edi, eax
jmp 0x429354
xor edi, edi
mov ecx, edi
neg ecx
lea eax, [edi + 8]
sbb ecx, ecx
and ecx, eax
lea esi, [esp + 0x34]
call fcn.0040fbae
push dword [ebp + 0x14]
lea ecx, [esp + 0xc0]
push dword [ebp + 0x10]
mov eax, edi
mov byte [esp + 0x188], 2
call fcn.00432139
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 0x28
adc dword [ebp + 0x14], eax
call fcn.004338e8
test eax, eax
pop ecx
je 0x4293b3
mov esi, eax
call fcn.004322af
mov dword [esp + 0x24], eax
jmp 0x4293b8
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.0040fbae
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 3
call fcn.00414c05
mov edi, eax
mov eax, dword [esp + 0x24]
call fcn.0042ec1a
push dword [ebx + 4]
mov eax, dword [esp + 0x28]
push dword [ebx]
call fcn.00432322
mov eax, esi
push eax
lea edi, [esp + 0xc8]
call fcn.0042a191
mov eax, esi
mov byte [esp + 0x180], 2
call fcn.00433250
lea eax, [esp + 0x34]
mov byte [esp + 0x180], 1
call fcn.00433250
mov eax, dword [esp + 0x28]
inc dword [esp + 0x18]
add eax, 0x20
call fcn.00414067
cmp dword [esp + 0x18], eax
jl 0x42933b
mov eax, dword [esp + 0x28]
call fcn.00422259
mov dword [esp + 0x24], eax
lea eax, [esp + 0xe4]
push eax
call fcn.00428ec5
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x184], 4
call fcn.00428fa6
mov ebx, dword [esp + 0x5c]
cmp byte [ebx], 0
pop ecx
je 0x42949d
lea eax, [ebx + 4]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.004290c7
neg al
sbb al, al
inc al
pop ecx
pop ecx
je 0x429745
lea esi, [ebx + 0x60]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x4294ad
call fcn.00433c45
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jbe 0x4294c2
call fcn.00433c45
mov eax, dword [esp + 0x20]
push edi
push esi
push eax
push esi
lea eax, [esp + 0x54]
push eax
push esi
call fcn.00418fae
lea esi, [ebx + 0x5c]
call fcn.0042e80e
push 0x74
call fcn.004338e8
pop ecx
mov dword [esp + 0x44], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x4294f9
push eax
call fcn.0042ba32
jmp 0x4294fb
xor eax, eax
test eax, eax
mov byte [esp + 0x180], 4
mov dword [ebx + 0x54], eax
je 0x42950f
lea edi, [eax + 8]
jmp 0x429511
xor edi, edi
call fcn.00418020
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x429522
lea ecx, [eax + 0xc]
jmp 0x429524
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 0x429584
lea esi, [esp + 0x124]
call fcn.0042a07f
lea edi, [esp + 0xe4]
call fcn.00428f42
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00432219
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.0042c508
mov eax, dword [esp + 0x20]
jmp 0x4292be
and dword [esp + 0x18], 0
cmp dword [esp + 0x24], 0
jle 0x429724
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.0042226c
mov esi, eax
lea eax, [esp + 0x38]
call fcn.0040fb75
lea eax, [esp + 0x3c]
call fcn.0040fb75
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.00431e57
add esp, 0x14
test eax, eax
jne 0x429ae6
lea eax, [esp + 0x14]
call fcn.0040fb75
mov eax, esi
mov byte [esp + 0x180], 8
call fcn.0042243a
test al, al
je 0x429636
lea ecx, [esp + 0x38]
call fcn.0043325c
test al, al
je 0x429b51
lea eax, [esp + 0x38]
call fcn.00414c05
mov edi, eax
lea esi, [esp + 0x14]
call fcn.00418020
lea eax, [esp + 0x38]
call fcn.00414c05
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042c233
jmp 0x42966e
lea ecx, [esp + 0x3c]
call fcn.0043325c
test al, al
je 0x429b51
lea eax, [esp + 0x3c]
call fcn.00414c05
mov edi, eax
lea esi, [esp + 0x14]
call fcn.00418020
lea eax, [esp + 0x3c]
call fcn.00414c05
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.0042c251
lea eax, [esp + 0x14]
push eax
lea edi, [ebx + 0x60]
call fcn.0042a1ec
lea eax, [esp + 0x50]
call fcn.0040fb75
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 9
call fcn.004110b3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
push 0x100f
call dword [edx]
lea ecx, [esp + 0x50]
call fcn.0043325c
test al, al
je 0x4296ce
lea eax, [esp + 0x50]
call fcn.00414c05
push dword [esp + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov esi, eax
test esi, esi
jne 0x429b6c
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.00433250
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00433250
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.00433250
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.00433250
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x429594
lea esi, [ebx + 4]
lea edi, [esp + 0xe4]
call fcn.00429f02
lea ecx, [esi + 0x40]
lea eax, [esp + 0x124]
call fcn.00423491
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 0x429c6a
lea eax, [esp + 0x40]
call fcn.004110b3
mov dword [esp + 0xe0], eax
push dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
call fcn.0042226c
mov ecx, dword [ebx + 0x64]
test ecx, ecx
mov edi, eax
mov dword [esp + 0x4c], edi
je 0x4297a1
mov eax, dword [ebx + 0x68]
sub eax, ecx
sar eax, 2
cmp dword [esp + 0x54], eax
jb 0x4297a6
call fcn.00433c45
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0x54]
lea esi, [eax + ecx*4]
lea eax, [esp + 0x40]
call fcn.0040fb75
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.0043325c
test al, al
je 0x42982f
lea eax, [edi + 8]
mov dword [esp + 0x20], eax
call fcn.0041eee0
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
ja 0x429cbe
test eax, eax
jbe 0x42982f
lea eax, [esp + 0x40]
call fcn.00414c05
mov edi, dword [eax]
push dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
call fcn.00409dcd
mov ecx, dword [esp + 0x48]
push eax
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x429cd9
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00433250
lea eax, [esp + 0x14]
call fcn.0040fb75
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 0xb
call fcn.004110b3
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
push 0x1007
call dword [edx]
lea ecx, [esp + 0x14]
call fcn.0043325c
test al, al
je 0x429892
lea eax, [esp + 0x14]
call fcn.00414c05
push dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x44], eax
jne 0x429cf1
lea eax, [esp + 0x2c]
call fcn.0040fb75
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xc
call fcn.004110b3
mov esi, dword [esi]
mov edx, dword [esi]
push eax
push 0x1012
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x2c]
call fcn.0043325c
test al, al
je 0x4299f3
mov ecx, dword [esp + 0xd8]
xor esi, esi
cmp ecx, esi
je 0x429d0b
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 0x429d37
lea eax, [esp + 0x64]
call fcn.00409d3d
mov byte [esp + 0x180], 0xe
mov eax, dword [esp + 0x60]
mov byte [eax], 1
lea eax, [esp + 0x138]
lea esi, [esp + 0x154]
call fcn.0040378e
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.00409d6c
xor edi, edi
cmp dword [esp + 0x168], edi
jle 0x429995
lea eax, [esp + 0x64]
call fcn.00409dcd
mov esi, eax
lea eax, [esp + 0x154]
call fcn.0040abcf
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 0x429975
cmp dword [esp + 0x1c], 0
jbe 0x4299c6
lea eax, [esp + 0x2c]
call fcn.00414c05
push dword [esp + 0x1c]
mov esi, eax
mov edi, dword [esi]
lea eax, [esp + 0x68]
call fcn.00409dcd
push eax
mov ecx, esi
call dword [edi + 0x10]
mov edi, eax
test edi, edi
jne 0x429d6a
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.00401169
lea ecx, [esp + 0x64]
call fcn.00409d4f
push 0
push 1
lea esi, [esp + 0x140]
call fcn.00401169
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00433250
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.0042a09a
push edi
lea esi, [esp + 0xb0]
call fcn.0042a09a
test edi, edi
jbe 0x429a9f
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.004226f1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0xb0]
call fcn.0042a137
inc dword [esp + 0x34]
dec dword [esp + 0x4c]
jne 0x429a73
and dword [esp + 0x1c], 0
cmp dword [esp + 0x20], 0
jbe 0x429bdc
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.0042250f
test eax, eax
jl 0x429b95
mov edi, dword [esp + 0x28]
add edi, 0x10
mov esi, eax
call fcn.004226f1
mov edi, dword [esp + 0x28]
mov esi, dword [eax + 4]
add edi, 0x30
call fcn.004226f1
jmp 0x429bb1
mov ebx, eax
lea eax, [esp + 0x3c]
mov byte [esp + 0x180], 6
call fcn.00433250
lea eax, [esp + 0x38]
mov byte [esp + 0x180], 4
call fcn.00433250
lea esi, [esp + 0x124]
call fcn.0042a07f
lea edi, [esp + 0xe4]
call fcn.00428f42
lea edi, [esp + 0xbc]
mov byte [esp + 0x180], 0
call fcn.00432219
or dword [esp + 0x180], 0xffffffff
lea esi, [esp + 0xc4]
call fcn.0042c508
mov eax, ebx
jmp 0x4292be
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00433250
mov ebx, 0x80004001
jmp 0x429ae8
lea eax, [esp + 0x50]
mov byte [esp + 0x180], 8
call fcn.00433250
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 7
call fcn.00433250
mov ebx, esi
jmp 0x429ae8
push dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.0042257c
test eax, eax
jl 0x429d87
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.0042a137
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jb 0x429aaf
mov edi, dword [esp + 0xb0]
cmp edi, dword [esp + 0xb4]
jbe 0x429bf8
call fcn.00433c45
cmp edi, dword [esp + 0xb4]
jb 0x429bff
call fcn.00433c45
mov esi, dword [esp + 0x80]
cmp esi, dword [esp + 0x84]
jbe 0x429c1b
call fcn.00433c45
cmp esi, dword [esp + 0x84]
jb 0x429c22
call fcn.00433c45
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.0042a07f
lea esi, [esp + 0x7c]
call fcn.0042a07f
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00433250
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
jl 0x429779
xor esi, esi
cmp dword [esp + 0x118], esi
mov dword [esp + 0x20], esi
je 0x429c8a
mov eax, dword [esp + 0x11c]
sub eax, dword [esp + 0x118]
sar eax, 2
jne 0x429c8f
call fcn.00433c45
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x11c]
push dword [eax]
lea ebx, [esp + 0x28]
lea eax, [esp + 0xec]
call fcn.0042b0e6
xor edi, edi
cmp eax, edi
je 0x429da1
mov ebx, eax
jmp 0x429b0a
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00433250
mov ebx, 0x80004001
jmp 0x429b0a
lea eax, [esp + 0x40]
mov byte [esp + 0x180], 4
call fcn.00433250
mov ebx, edi
jmp 0x429b0a
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00433250
mov ebx, dword [esp + 0x44]
jmp 0x429b0a
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00433250
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00433250
mov ebx, 0x80004005
jmp 0x429b0a
push esi
push 1
lea esi, [esp + 0x140]
call fcn.00401169
lea eax, [esp + 0x2c]
mov byte [esp + 0x180], 0xb
call fcn.00433250
lea eax, [esp + 0x14]
mov byte [esp + 0x180], 4
call fcn.00433250
jmp 0x429cea
push 0
push 1
lea esi, [esp + 0x15c]
call fcn.00401169
lea ecx, [esp + 0x64]
call fcn.00409d4f
push 0
jmp 0x429d38
lea esi, [esp + 0xac]
call fcn.0042a07f
lea esi, [esp + 0x7c]
call fcn.0042a07f
jmp 0x429d1c
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x54]
call fcn.0042c26f
cmp dword [esp + 0x24], edi
jne 0x429dbe
xor ebx, ebx
jmp 0x429b0a
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 0x429df3
xor ecx, ecx
jmp 0x429dfa
mov ecx, eax
sub ecx, edx
sar ecx, 2
cmp ebx, ecx
jge 0x429e3f
cmp edx, edi
je 0x429e0b
sub eax, edx
sar eax, 2
cmp ebx, eax
jb 0x429e17
call fcn.00433c45
mov edx, dword [esp + 0xc8]
lea eax, [edx + ebx*4]
call fcn.00414c05
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.0042a24c
inc ebx
jmp 0x429ddd
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.0042a24c
mov eax, dword [esp + 0x58]
add eax, 0x5c
call fcn.00414c05
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 0x429ebd
push dword [esp + 0x90]
call fcn.00433860
pop ecx
cmp dword [esp + 0xa0], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
je 0x429ee8
push dword [esp + 0xa0]
call fcn.00433860
pop ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
jmp 0x429b0a