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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4443c8
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x456220]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x456220]
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.004274b8
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 0x425475
mov dword [esp + 0x10], 0xe000000e
push 0x44fd18
lea eax, [esp + 0x14]
push eax
call fcn.004350de
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 0x14
mov dword [esp + 0x1c], eax
call fcn.00410c1c
cmp eax, ebx
je 0x4254bb
mov dword [esp + 0x10], 0xe0000008
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42546f
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 0x425623
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.00415766
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 0x425526
xor eax, eax
jmp 0x425a1a
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.00415766
push 2
pop edi
mov ebx, eax
call fcn.0042ce19
test eax, eax
pop ecx
jne 0x42551f
cmp word [esp + 0x1c], ax
jbe 0x42551f
lea eax, [esp + 0x48]
call fcn.0041f068
and dword [esp + 0xc0], 0
movzx ecx, word [esp + 0x1c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x18], eax
ja 0x42556f
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
add ebx, 2
push ebx
lea edi, [esp + 0x4c]
call fcn.0041f3ce
mov eax, edi
call fcn.0041f09b
push ebx
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.004335b0
add esp, 0xc
push dword [esp + 0x14]
mov eax, esi
call fcn.00415766
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.0042ce19
test eax, eax
pop ecx
jne 0x425615
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esi + 0x110], 1
call fcn.00403aa0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x94]
mov byte [esp + 0xc0], 1
call fcn.004102a9
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 2
call fcn.00401cf4
push ebx
push 1
lea esi, [esp + 0x9c]
call fcn.00401d7c
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00403b54
lea ecx, [esp + 0x48]
call fcn.0041f07a
jmp 0x42551f
cmp dword [esp + 0x28], ecx
ja 0x42562e
cmp ebx, 0xffffffff
jbe 0x425636
xor eax, eax
inc eax
jmp 0x425a1a
cmp dword [esp + 0x78], ecx
jg 0x425644
jl 0x42562e
cmp dword [esp + 0x74], ecx
jb 0x42562e
mov eax, esi
call fcn.00415766
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 0x425a1a
lea eax, [esp + 0x48]
call fcn.0041f068
push ebx
lea edi, [esp + 0x4c]
mov dword [esp + 0xc4], 3
call fcn.0041f3ce
mov eax, edi
call fcn.0041f09b
mov dword [esp + 0x14], eax
push eax
mov eax, esi
call fcn.00415766
mov edi, ebx
mov ebx, eax
call fcn.0042ce19
test eax, eax
pop ecx
je 0x4256b2
mov edi, eax
jmp 0x425a0f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
push dword [esp + 0x24]
add ecx, 0x20
mov edx, eax
adc edx, 0
add dword [esi + 0x48], ecx
mov ecx, dword [esp + 0x28]
adc dword [esi + 0x4c], edx
add ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
adc eax, dword [esp + 0x7c]
add ecx, 0x20
adc eax, 0
mov dword [ebx + 0x1b0], ecx
mov dword [ebx + 0x1b4], eax
call fcn.00410c1c
cmp eax, dword [esp + 0x18]
je 0x425713
mov dword [esp + 0x10], 0xe0000006
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42546f
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.00415766
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 0x42576f
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.00415766
push 2
pop edi
mov ebx, eax
call fcn.0042ce19
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 0x425873
cmp word [esp + 0x2c], ax
jbe 0x425873
lea eax, [esp + 0x74]
call fcn.0041f068
mov byte [esp + 0xc0], 4
movzx ecx, word [esp + 0x2c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x4257b9
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
add ebx, 2
push ebx
lea edi, [esp + 0x78]
call fcn.0041f3ce
mov eax, edi
call fcn.0041f09b
push ebx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.004335b0
add esp, 0xc
push dword [esp + 0x18]
mov eax, esi
call fcn.00415766
mov edi, dword [esp + 0x18]
mov ebx, eax
call fcn.0042ce19
test eax, eax
pop ecx
jne 0x425866
mov esi, dword [esp + 0x20]
push dword [esp + 0x18]
lea ecx, [esp + 0x98]
mov byte [esi + 0x110], 1
call fcn.00403aa0
lea eax, [esp + 0x94]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 5
call fcn.004102a9
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 6
call fcn.00401cf4
push ebx
push 1
lea esi, [esp + 0x60]
call fcn.00401d7c
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.00403b54
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x74]
call fcn.0041f07a
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.004236d4
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.00423af9
cmp eax, 1
jne 0x4258bb
cmp edx, edi
je 0x4259c6
cmp eax, 0x17
jne 0x4258c4
cmp edx, edi
je 0x4258da
mov dword [esp + 0x10], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42546f
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.00424722
mov ebx, eax
cmp ebx, edi
je 0x425932
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00425ef3
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.0042369f
mov edi, ebx
jmp 0x425a0f
cmp dword [esp + 0x34], edi
je 0x4259ed
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 4
je 0x4259ed
cmp eax, 1
jbe 0x425968
mov dword [esp + 0x10], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42546f
lea esi, [esp + 0x74]
call fcn.0042369f
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x38]
jbe 0x425984
call fcn.0043358c
cmp esi, dword [esp + 0x38]
jb 0x42598b
call fcn.0043358c
mov edi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x78]
push eax
call fcn.004236d4
mov eax, edi
call fcn.00423af9
cmp eax, 1
jne 0x4259aa
test edx, edx
je 0x4259c0
mov dword [esp + 0x14], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x18]
jmp 0x42546f
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.00424b53
mov edi, eax
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.00425ef3
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.0042369f
lea ecx, [esp + 0x48]
call fcn.0041f07a
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.0043313e
mov esp, ebp
pop ebp
ret 0xc