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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x446c5e
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x458210]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x458210]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x10]
mov edi, edx
mov esi, ecx
mov dword [esp + 0x44], eax
mov eax, edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
call fcn.004273f6
mov eax, dword [esi + 0x20]
mov dword [edi + 0x138], eax
mov eax, dword [esi + 0x24]
mov dword [edi + 0x13c], eax
mov cl, byte [esi + 0x2e]
lea eax, [edi + 0x130]
mov byte [eax], cl
cmp byte [eax], 0
mov cl, byte [esi + 0x2f]
mov byte [edi + 0x131], cl
je 0x4253b4
mov dword [esp + 0x10], 0xe000000e
push 0x451d20
lea eax, [esp + 0x14]
push eax
call fcn.00436845
mov ebx, dword [esi + 0x30]
lea edx, [esi + 0x34]
mov eax, dword [edx]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x44]
push 0x4602a0
push 0x14
or ecx, 0xffffffff
mov dword [esp + 0x20], eax
call dword [0x45ca74]
not eax
cmp eax, ebx
je 0x425405
mov dword [esp + 0x10], 0xe0000008
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x4253ae
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov ebx, dword [esp + 0x24]
add eax, 0x20
push 0
mov dword [edi + 0x140], eax
pop ecx
adc edx, ecx
mov eax, ebx
or eax, dword [esp + 0x28]
mov dword [edi + 0x144], edx
jne 0x42556d
mov ebx, dword [edi + 0x140]
mov eax, edx
mov dword [esp + 0x78], eax
mov dword [edi + 0x10c], eax
mov eax, esi
mov dword [edi + 0x108], ebx
mov dword [esp + 0x1c], ecx
call fcn.0042213c
mov edx, dword [eax]
push 0
push 0
push dword [esp + 0x80]
mov ecx, eax
push ebx
call dword [edx + 0x14]
test eax, eax
je 0x425470
xor eax, eax
jmp 0x425964
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.0042213c
push 2
pop edi
mov ebx, eax
call fcn.0042fd02
test eax, eax
pop ecx
jne 0x425469
cmp word [esp + 0x1c], ax
jbe 0x425469
lea eax, [esp + 0x48]
call fcn.0041eb0a
and dword [esp + 0xc0], 0
movzx ecx, word [esp + 0x1c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x18], eax
ja 0x4254b9
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
add ebx, 2
push ebx
lea edi, [esp + 0x4c]
call fcn.0041eeb4
mov eax, edi
call fcn.00426dc6
push ebx
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.00434e30
add esp, 0xc
push dword [esp + 0x14]
mov eax, esi
call fcn.0042213c
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.0042fd02
test eax, eax
pop ecx
jne 0x42555f
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esi + 0x110], 1
call fcn.00402039
lea eax, [esp + 0x74]
lea ecx, [esp + 0x94]
mov byte [esp + 0xc0], 1
call fcn.0040f1b0
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 2
call fcn.00401322
push ebx
push 1
lea esi, [esp + 0x9c]
call fcn.004012b6
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.004020ed
lea ecx, [esp + 0x48]
call fcn.0041eb1c
jmp 0x425469
cmp dword [esp + 0x28], ecx
ja 0x425578
cmp ebx, 0xffffffff
jbe 0x425580
xor eax, eax
inc eax
jmp 0x425964
cmp dword [esp + 0x78], ecx
jg 0x42558e
jl 0x425578
cmp dword [esp + 0x74], ecx
jb 0x425578
mov eax, esi
call fcn.0042213c
mov edx, dword [eax]
push 0
push 1
push dword [esp + 0x80]
mov ecx, eax
push dword [esp + 0x80]
call dword [edx + 0x14]
test eax, eax
jne 0x425964
lea eax, [esp + 0x48]
call fcn.0041eb0a
push ebx
lea edi, [esp + 0x4c]
mov dword [esp + 0xc4], 3
call fcn.0041eeb4
mov eax, edi
call fcn.00426dc6
mov dword [esp + 0x14], eax
push eax
mov eax, esi
call fcn.0042213c
mov edi, ebx
mov ebx, eax
call fcn.0042fd02
test eax, eax
pop ecx
je 0x4255fc
mov edi, eax
jmp 0x425959
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
add ecx, 0x20
mov edx, eax
adc edx, 0
add dword [esi + 0x48], ecx
mov ecx, dword [esp + 0x24]
adc dword [esi + 0x4c], edx
add ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x14]
adc eax, dword [esp + 0x78]
add ecx, 0x20
adc eax, 0
mov dword [ebx + 0x1b4], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x1b0], ecx
call fcn.004102b0
cmp eax, dword [esp + 0x18]
je 0x42565d
mov dword [esp + 0x10], 0xe0000006
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x4253ae
mov edi, dword [ebx + 0x1b0]
add edi, dword [esi + 0x20]
mov eax, dword [ebx + 0x1b4]
adc eax, dword [esi + 0x24]
and dword [esp + 0x2c], 0
mov dword [esp + 0x78], eax
mov eax, esi
mov dword [esp + 0x74], edi
call fcn.0042213c
mov edx, dword [eax]
push 0
push 0
push dword [esp + 0x80]
mov ecx, eax
push edi
call dword [edx + 0x14]
test eax, eax
jne 0x4256b9
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.0042213c
push 2
pop edi
mov ebx, eax
call fcn.0042fd02
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x78]
pop ecx
test eax, eax
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x108], edi
mov dword [ebx + 0x10c], ecx
jne 0x4257bd
cmp word [esp + 0x2c], ax
jbe 0x4257bd
lea eax, [esp + 0x74]
call fcn.0041eb0a
mov byte [esp + 0xc0], 4
movzx ecx, word [esp + 0x2c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x425703
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
add ebx, 2
push ebx
lea edi, [esp + 0x78]
call fcn.0041eeb4
mov eax, edi
call fcn.00426dc6
push ebx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.00434e30
add esp, 0xc
push dword [esp + 0x18]
mov eax, esi
call fcn.0042213c
mov edi, dword [esp + 0x18]
mov ebx, eax
call fcn.0042fd02
test eax, eax
pop ecx
jne 0x4257b0
mov esi, dword [esp + 0x20]
push dword [esp + 0x18]
lea ecx, [esp + 0x98]
mov byte [esi + 0x110], 1
call fcn.00402039
lea eax, [esp + 0x94]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 5
call fcn.0040f1b0
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 6
call fcn.00401322
push ebx
push 1
lea esi, [esp + 0x60]
call fcn.004012b6
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.004020ed
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x74]
call fcn.0041eb1c
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x78], 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x78]
push eax
mov edi, esi
mov byte [esp + 0xc8], 7
call fcn.00423608
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov eax, esi
mov byte [esp + 0xc0], 8
call fcn.00423a2f
cmp eax, 1
jne 0x425805
cmp edx, edi
je 0x425910
cmp eax, 0x17
jne 0x42580e
cmp edx, edi
je 0x425824
mov dword [esp + 0x10], 0xe000000a
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x4253ae
push dword [esp + 0x44]
lea eax, [esp + 0x34]
push dword [esp + 0x44]
lea ecx, [ebx + 0x150]
push eax
push dword [ebx + 0x144]
push dword [ebx + 0x140]
push dword [esp + 0x24]
push esi
call fcn.00424663
mov ebx, eax
cmp ebx, edi
je 0x42587c
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00425e5c
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.004235d3
mov edi, ebx
jmp 0x425959
cmp dword [esp + 0x34], edi
je 0x425937
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 4
je 0x425937
cmp eax, 1
jbe 0x4258b2
mov dword [esp + 0x10], 0xe000000a
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x4253ae
lea esi, [esp + 0x74]
call fcn.004235d3
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x38]
jbe 0x4258ce
call fcn.004352f5
cmp esi, dword [esp + 0x38]
jb 0x4258d5
call fcn.004352f5
mov edi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x78]
push eax
call fcn.00423608
mov eax, edi
call fcn.00423a2f
cmp eax, 1
jne 0x4258f4
test edx, edx
je 0x42590a
mov dword [esp + 0x14], 0xe000000a
push 0x451d20
lea eax, [esp + 0x18]
jmp 0x4253ae
mov ebx, dword [esp + 0x20]
mov esi, edi
push dword [esp + 0x44]
mov eax, dword [esi + 0x48]
push dword [esp + 0x44]
mov dword [ebx + 0x1a8], eax
mov eax, dword [esi + 0x4c]
push ebx
push dword [esp + 0x1c]
mov dword [ebx + 0x1ac], eax
push esi
call fcn.00424a92
mov edi, eax
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00425e5c
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.004235d3
lea ecx, [esp + 0x48]
call fcn.0041eb1c
mov eax, edi
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.00434bcb
mov esp, ebp
pop ebp
ret 0xc