Function at 0x425f0a
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.00427ff6
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 0x425fb4
mov dword [esp + 0x10], 0xe000000e
push 0x451d20
lea eax, [esp + 0x14]
push eax
call fcn.00437445
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 0x426005
mov dword [esp + 0x10], 0xe0000008
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x425fae
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 0x42616d
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.00422d3c
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 0x426070
xor eax, eax
jmp 0x426564
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.00422d3c
push 2
pop edi
mov ebx, eax
call fcn.00430902
test eax, eax
pop ecx
jne 0x426069
cmp word [esp + 0x1c], ax
jbe 0x426069
lea eax, [esp + 0x48]
call fcn.0041f70a
and dword [esp + 0xc0], 0
movzx ecx, word [esp + 0x1c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x18], eax
ja 0x4260b9
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
add ebx, 2
push ebx
lea edi, [esp + 0x4c]
call fcn.0041fab4
mov eax, edi
call fcn.004279c6
push ebx
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.00435a30
add esp, 0xc
push dword [esp + 0x14]
mov eax, esi
call fcn.00422d3c
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.00430902
test eax, eax
pop ecx
jne 0x42615f
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esi + 0x110], 1
call fcn.00402c39
lea eax, [esp + 0x74]
lea ecx, [esp + 0x94]
mov byte [esp + 0xc0], 1
call fcn.0040fdb0
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 2
call fcn.00401f22
push ebx
push 1
lea esi, [esp + 0x9c]
call fcn.00401eb6
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402ced
lea ecx, [esp + 0x48]
call fcn.0041f71c
jmp 0x426069
cmp dword [esp + 0x28], ecx
ja 0x426178
cmp ebx, 0xffffffff
jbe 0x426180
xor eax, eax
inc eax
jmp 0x426564
cmp dword [esp + 0x78], ecx
jg 0x42618e
jl 0x426178
cmp dword [esp + 0x74], ecx
jb 0x426178
mov eax, esi
call fcn.00422d3c
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 0x426564
lea eax, [esp + 0x48]
call fcn.0041f70a
push ebx
lea edi, [esp + 0x4c]
mov dword [esp + 0xc4], 3
call fcn.0041fab4
mov eax, edi
call fcn.004279c6
mov dword [esp + 0x14], eax
push eax
mov eax, esi
call fcn.00422d3c
mov edi, ebx
mov ebx, eax
call fcn.00430902
test eax, eax
pop ecx
je 0x4261fc
mov edi, eax
jmp 0x426559
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.00410eb0
cmp eax, dword [esp + 0x18]
je 0x42625d
mov dword [esp + 0x10], 0xe0000006
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x425fae
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.00422d3c
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 0x4262b9
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.00422d3c
push 2
pop edi
mov ebx, eax
call fcn.00430902
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 0x4263bd
cmp word [esp + 0x2c], ax
jbe 0x4263bd
lea eax, [esp + 0x74]
call fcn.0041f70a
mov byte [esp + 0xc0], 4
movzx ecx, word [esp + 0x2c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x426303
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
add ebx, 2
push ebx
lea edi, [esp + 0x78]
call fcn.0041fab4
mov eax, edi
call fcn.004279c6
push ebx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.00435a30
add esp, 0xc
push dword [esp + 0x18]
mov eax, esi
call fcn.00422d3c
mov edi, dword [esp + 0x18]
mov ebx, eax
call fcn.00430902
test eax, eax
pop ecx
jne 0x4263b0
mov esi, dword [esp + 0x20]
push dword [esp + 0x18]
lea ecx, [esp + 0x98]
mov byte [esi + 0x110], 1
call fcn.00402c39
lea eax, [esp + 0x94]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 5
call fcn.0040fdb0
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 6
call fcn.00401f22
push ebx
push 1
lea esi, [esp + 0x60]
call fcn.00401eb6
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.00402ced
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x74]
call fcn.0041f71c
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.00424208
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.0042462f
cmp eax, 1
jne 0x426405
cmp edx, edi
je 0x426510
cmp eax, 0x17
jne 0x42640e
cmp edx, edi
je 0x426424
mov dword [esp + 0x10], 0xe000000a
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x425fae
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.00425263
mov ebx, eax
cmp ebx, edi
je 0x42647c
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00426a5c
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.004241d3
mov edi, ebx
jmp 0x426559
cmp dword [esp + 0x34], edi
je 0x426537
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 4
je 0x426537
cmp eax, 1
jbe 0x4264b2
mov dword [esp + 0x10], 0xe000000a
push 0x451d20
lea eax, [esp + 0x14]
jmp 0x425fae
lea esi, [esp + 0x74]
call fcn.004241d3
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x38]
jbe 0x4264ce
call fcn.00435ef5
cmp esi, dword [esp + 0x38]
jb 0x4264d5
call fcn.00435ef5
mov edi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x78]
push eax
call fcn.00424208
mov eax, edi
call fcn.0042462f
cmp eax, 1
jne 0x4264f4
test edx, edx
je 0x42650a
mov dword [esp + 0x14], 0xe000000a
push 0x451d20
lea eax, [esp + 0x18]
jmp 0x425fae
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.00425692
mov edi, eax
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00426a5c
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.004241d3
lea ecx, [esp + 0x48]
call fcn.0041f71c
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.004357cb
mov esp, ebp
pop ebp
ret 0xc