Function at 0x4247cb
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.004268b8
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 0x424875
mov dword [esp + 0x10], 0xe000000e
push 0x44fd18
lea eax, [esp + 0x14]
push eax
call fcn.004344de
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.0041001c
cmp eax, ebx
je 0x4248bb
mov dword [esp + 0x10], 0xe0000008
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42486f
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 0x424a23
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.00414b66
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 0x424926
xor eax, eax
jmp 0x424e1a
lea eax, [esp + 0x1c]
push eax
mov eax, esi
call fcn.00414b66
push 2
pop edi
mov ebx, eax
call fcn.0042c219
test eax, eax
pop ecx
jne 0x42491f
cmp word [esp + 0x1c], ax
jbe 0x42491f
lea eax, [esp + 0x48]
call fcn.0041e468
and dword [esp + 0xc0], 0
movzx ecx, word [esp + 0x1c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x18], eax
ja 0x42496f
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x18]
add ebx, 2
push ebx
lea edi, [esp + 0x4c]
call fcn.0041e7ce
mov eax, edi
call fcn.0041e49b
push ebx
push 0
push eax
mov dword [esp + 0x20], eax
call fcn.004329b0
add esp, 0xc
push dword [esp + 0x14]
mov eax, esi
call fcn.00414b66
mov edi, dword [esp + 0x1c]
mov ebx, eax
call fcn.0042c219
test eax, eax
pop ecx
jne 0x424a15
mov esi, dword [esp + 0x20]
push dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esi + 0x110], 1
call fcn.00402ea0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x94]
mov byte [esp + 0xc0], 1
call fcn.0040f6a9
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 2
call fcn.004010f4
push ebx
push 1
lea esi, [esp + 0x9c]
call fcn.0040117c
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.00402f54
lea ecx, [esp + 0x48]
call fcn.0041e47a
jmp 0x42491f
cmp dword [esp + 0x28], ecx
ja 0x424a2e
cmp ebx, 0xffffffff
jbe 0x424a36
xor eax, eax
inc eax
jmp 0x424e1a
cmp dword [esp + 0x78], ecx
jg 0x424a44
jl 0x424a2e
cmp dword [esp + 0x74], ecx
jb 0x424a2e
mov eax, esi
call fcn.00414b66
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 0x424e1a
lea eax, [esp + 0x48]
call fcn.0041e468
push ebx
lea edi, [esp + 0x4c]
mov dword [esp + 0xc4], 3
call fcn.0041e7ce
mov eax, edi
call fcn.0041e49b
mov dword [esp + 0x14], eax
push eax
mov eax, esi
call fcn.00414b66
mov edi, ebx
mov ebx, eax
call fcn.0042c219
test eax, eax
pop ecx
je 0x424ab2
mov edi, eax
jmp 0x424e0f
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.0041001c
cmp eax, dword [esp + 0x18]
je 0x424b13
mov dword [esp + 0x10], 0xe0000006
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42486f
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.00414b66
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 0x424b6f
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.00414b66
push 2
pop edi
mov ebx, eax
call fcn.0042c219
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 0x424c73
cmp word [esp + 0x2c], ax
jbe 0x424c73
lea eax, [esp + 0x74]
call fcn.0041e468
mov byte [esp + 0xc0], 4
movzx ecx, word [esp + 0x2c]
mov eax, 0x10000
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x424bb9
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
add ebx, 2
push ebx
lea edi, [esp + 0x78]
call fcn.0041e7ce
mov eax, edi
call fcn.0041e49b
push ebx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.004329b0
add esp, 0xc
push dword [esp + 0x18]
mov eax, esi
call fcn.00414b66
mov edi, dword [esp + 0x18]
mov ebx, eax
call fcn.0042c219
test eax, eax
pop ecx
jne 0x424c66
mov esi, dword [esp + 0x20]
push dword [esp + 0x18]
lea ecx, [esp + 0x98]
mov byte [esi + 0x110], 1
call fcn.00402ea0
lea eax, [esp + 0x94]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 5
call fcn.0040f6a9
push 0xffffffffffffffff
add esi, 0x114
push esi
xor ebx, ebx
mov byte [esp + 0xc8], 6
call fcn.004010f4
push ebx
push 1
lea esi, [esp + 0x60]
call fcn.0040117c
push ebx
push 1
lea ecx, [esp + 0x9c]
call fcn.00402f54
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x74]
call fcn.0041e47a
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.00422ad4
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.00422ef9
cmp eax, 1
jne 0x424cbb
cmp edx, edi
je 0x424dc6
cmp eax, 0x17
jne 0x424cc4
cmp edx, edi
je 0x424cda
mov dword [esp + 0x10], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42486f
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.00423b22
mov ebx, eax
cmp ebx, edi
je 0x424d32
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.004252f3
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.00422a9f
mov edi, ebx
jmp 0x424e0f
cmp dword [esp + 0x34], edi
je 0x424ded
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 4
je 0x424ded
cmp eax, 1
jbe 0x424d68
mov dword [esp + 0x10], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x14]
jmp 0x42486f
lea esi, [esp + 0x74]
call fcn.00422a9f
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x38]
jbe 0x424d84
call fcn.0043298c
cmp esi, dword [esp + 0x38]
jb 0x424d8b
call fcn.0043298c
mov edi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x78]
push eax
call fcn.00422ad4
mov eax, edi
call fcn.00422ef9
cmp eax, 1
jne 0x424daa
test edx, edx
je 0x424dc0
mov dword [esp + 0x14], 0xe000000a
push 0x44fd18
lea eax, [esp + 0x18]
jmp 0x42486f
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.00423f53
mov edi, eax
lea esi, [esp + 0x30]
mov byte [esp + 0xc0], 7
call fcn.004252f3
lea esi, [esp + 0x74]
mov byte [esp + 0xc0], 3
call fcn.00422a9f
lea ecx, [esp + 0x48]
call fcn.0041e47a
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.0043253e
mov esp, ebp
pop ebp
ret 0xc