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

Disassembly:
sub esp, 0x44
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x18], ebp
cmp esi, ebp
je 0x4875f7
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [eax], ebp
cmp dword [edi], ebp
jne 0x48761c
mov byte [edi + 4], 0
mov ecx, dword [ebx + 0x6c]
call fcn.0048cd40
mov dword [edi], eax
cmp eax, ebp
jne 0x48761c
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret 0x24
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
cmp eax, ebp
je 0x487630
mov dword [esp + 0x34], 0x486ed0
cmp esi, ebp
jne 0x48764c
cmp dword [ebx + 0x68], ebp
jne 0x48764c
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ecx]
mov edx, 0x10010
call eax
mov dword [ebx + 0x68], eax
cmp eax, ebp
je 0x48760d
cmp byte [edi + 4], 0
jne 0x487690
mov ecx, dword [edi]
lea edx, [ebx + 8]
mov dword [esp + 0x14], 5
call fcn.0048a4e0
cmp eax, ebp
jne 0x4878e6
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.0048de90
cmp eax, ebp
jne 0x4878e6
mov dl, byte [esp + 0x1c]
mov byte [edi + 5], dl
mov byte [edi + 4], 1
nop
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov word [edi + 6], 0x101
mov eax, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
cmp dword [esp + 0x68], ebp
je 0x48773a
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
mov ebx, eax
and ebx, ecx
or esi, 0xffffffff
or ebp, 0xffffffff
cmp ebx, 0xffffffff
je 0x4876ef
cmp ecx, dword [esp + 0x28]
jb 0x4876ef
ja 0x4876e3
cmp eax, dword [esp + 0x24]
jb 0x4876ef
sub eax, dword [esp + 0x24]
sbb ecx, dword [esp + 0x28]
mov esi, eax
mov ebp, ecx
mov ebx, dword [esp + 0x58]
mov eax, dword [ebx + 0x48]
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x48770d
cmp ebp, edx
jb 0x48770d
ja 0x487709
cmp esi, eax
jbe 0x48770d
mov esi, eax
xor ebp, ebp
mov ecx, dword [edi]
push ebp
push esi
call fcn.0048a620
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
mov ecx, dword [edi]
push edx
push eax
push 0x200000
lea edx, [esp + 0x40]
call fcn.0048dc00
test eax, eax
jne 0x4878e6
xor ebp, ebp
jmp 0x487786
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x24]
mov ecx, eax
and ecx, edx
mov dword [esp + 0x10], esi
cmp ecx, 0xffffffff
je 0x487761
xor ecx, ecx
cmp ecx, edx
jb 0x487761
ja 0x48775b
cmp esi, eax
jbe 0x487761
mov dword [esp + 0x10], eax
mov esi, eax
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x6c]
add edx, dword [esp + 0x24]
push eax
push ecx
mov ecx, dword [edi]
push 0x200000
push esi
call fcn.0048dc20
cmp eax, ebp
jne 0x4878e6
mov edx, dword [esp + 0x60]
mov ecx, edx
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
lea ebx, [ebx]
mov dword [esp + 0x14], 0x10010
cmp edx, ebp
je 0x4877be
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
sub esi, eax
mov dword [esp + 0x14], esi
add eax, edx
jmp 0x4877c1
mov eax, dword [ebx + 0x68]
push ecx
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.00486f50
mov esi, eax
cmp esi, ebp
jne 0x487836
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
add esi, ebp
adc dword [esp + 0x30], 0
cmp dword [esp + 0x60], 0
mov dword [esp + 0x2c], esi
je 0x4877f3
mov edx, dword [esp + 0x64]
mov dword [edx], esi
mov eax, dword [edi + 8]
add eax, dword [esp + 0x24]
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x78]
adc ecx, dword [esp + 0x28]
test edx, edx
je 0x48781a
push dword [esp + 0x30]
push esi
push ecx
push eax
mov eax, dword [edx]
mov ecx, edx
call eax
test eax, eax
jne 0x48782f
xor esi, esi
test ebp, ebp
je 0x487834
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
xor ebp, ebp
jmp 0x4877a0
mov esi, 0xa
xor ebp, ebp
mov ecx, dword [edi]
call fcn.0048dc70
mov eax, dword [edi + 8]
add dword [esp + 0x24], eax
mov ecx, dword [edi + 0xc]
adc dword [esp + 0x28], ecx
cmp esi, ebp
jne 0x4878c2
cmp dword [esp + 0x68], ebp
je 0x48785f
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
jmp 0x487865
mov edx, dword [esp + 0x10]
xor esi, esi
cmp eax, edx
jne 0x4878ce
cmp ecx, esi
jne 0x4878ce
cmp dword [esp + 0x68], ebp
jne 0x4878b6
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp dword [esp + 0x24], ecx
jne 0x487690
cmp dword [esp + 0x28], eax
jne 0x487690
cmp dword [esp + 0x74], ebp
je 0x4878e4
mov edx, dword [esp + 0x60]
cmp edx, ebp
je 0x4878f0
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x18]
jb 0x4878dd
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x44
ret 0x24
cmp dword [esp + 0x4c], ebp
je 0x487690
jmp 0x48788d
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x44
ret 0x24
mov byte [eax + edx], 0
inc eax
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
push 1
lea edx, [esp + 0x64]
mov byte [esp + 0x64], 0
call eax
cmp eax, 1
je 0x4878e4
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x44
ret 0x24