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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
call fcn.00401970
mov esi, dword [esp + 0x10]
cmp esi, eax
je 0x488600
call fcn.00401970
mov dword [esp + 0x14], eax
cmp dword [eax + 0x14], 8
jb 0x488475
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ebx, dword [eax + 0x10]
mov ecx, esi
call fcn.00401970
mov edi, eax
mov ebp, dword [edi + 0x14]
cmp ebx, ebp
ja 0x4884bd
mov esi, edi
cmp ebp, 8
jb 0x488491
mov esi, dword [edi]
push ebx
push dword [esp + 0x18]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x4885fc
mov ecx, esi
call fcn.00401b82
cmp ebx, eax
ja 0x488f22
mov ecx, esi
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x20], ecx
cmp ecx, esi
ja 0x488515
mov ecx, dword [esp + 0x10]
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x488515
lea eax, [ecx + edx]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x488527
or ecx, 0xffffffff
jmp 0x48852f
cmp ecx, 0x1000
jb 0x48855a
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x48856b
test ecx, ecx
je 0x488569
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x48856b
xor eax, eax
mov dword [esp + 0x18], eax
push ebx
push dword [esp + 0x18]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x20]
push esi
call fcn.00401a2b
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
cmp ebp, 8
jb 0x4885db
mov eax, dword [edi]
lea ecx, [ebp*2 + 2]
cmp ecx, 0x1000
jb 0x4885c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x20]
add esp, 8
mov dword [edi], eax
jmp 0x4885fc
lea eax, [esp + 0x18]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
lea ebp, [esi + 0x18]
add ecx, 0x18
call fcn.00401970
cmp ebp, eax
je 0x4887b9
call fcn.00401970
mov dword [esp + 0x18], eax
cmp dword [eax + 0x14], 8
jb 0x48862c
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 0x10]
mov ecx, ebp
call fcn.00401970
mov edi, eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x24], eax
cmp ebx, eax
ja 0x488678
mov esi, edi
cmp eax, 8
jb 0x48864c
mov esi, dword [edi]
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x4887b9
mov ecx, ebp
call fcn.00401b82
cmp ebx, eax
ja 0x488f2c
mov ecx, ebp
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x1c], ecx
cmp ecx, esi
ja 0x4886ce
mov ecx, ebp
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x4886ce
lea eax, [edx + ecx]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x4886e0
or ecx, 0xffffffff
jmp 0x4886e8
cmp ecx, 0x1000
jb 0x488713
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x488724
test ecx, ecx
je 0x488722
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x488724
xor eax, eax
mov dword [esp + 0x14], eax
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.00401a2b
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
mov ecx, dword [esp + 0x38]
add esp, 0x14
cmp ecx, 8
jb 0x488798
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x488786
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [edi], eax
jmp 0x4887b9
lea eax, [esp + 0x14]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
add ecx, 0x30
add ebp, 0x30
call fcn.00401970
cmp ebp, eax
je 0x488976
call fcn.00401970
mov dword [esp + 0x18], eax
cmp dword [eax + 0x14], 8
jb 0x4887e9
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 0x10]
mov ecx, ebp
call fcn.00401970
mov edi, eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x28], eax
cmp ebx, eax
ja 0x488835
mov esi, edi
cmp eax, 8
jb 0x488809
mov esi, dword [edi]
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x488976
mov ecx, ebp
call fcn.00401b82
cmp ebx, eax
ja 0x488f31
mov ecx, ebp
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x20], ecx
cmp ecx, esi
ja 0x48888b
mov ecx, ebp
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x48888b
lea eax, [edx + ecx]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x48889d
or ecx, 0xffffffff
jmp 0x4888a5
cmp ecx, 0x1000
jb 0x4888d0
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x4888e1
test ecx, ecx
je 0x4888df
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x4888e1
xor eax, eax
mov dword [esp + 0x14], eax
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.00401a2b
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
mov ecx, dword [esp + 0x3c]
add esp, 0x14
cmp ecx, 8
jb 0x488955
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x488943
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [edi], eax
jmp 0x488976
lea eax, [esp + 0x14]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
add ecx, 0x48
add ebp, 0x48
call fcn.00401970
cmp ebp, eax
je 0x488b33
call fcn.00401970
mov dword [esp + 0x18], eax
cmp dword [eax + 0x14], 8
jb 0x4889a6
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 0x10]
mov ecx, ebp
call fcn.00401970
mov edi, eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
cmp ebx, eax
ja 0x4889f2
mov esi, edi
cmp eax, 8
jb 0x4889c6
mov esi, dword [edi]
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x488b33
mov ecx, ebp
call fcn.00401b82
cmp ebx, eax
ja 0x488f36
mov ecx, ebp
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x24], ecx
cmp ecx, esi
ja 0x488a48
mov ecx, ebp
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x488a48
lea eax, [edx + ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x488a5a
or ecx, 0xffffffff
jmp 0x488a62
cmp ecx, 0x1000
jb 0x488a8d
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x488a9e
test ecx, ecx
je 0x488a9c
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x488a9e
xor eax, eax
mov dword [esp + 0x14], eax
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.00401a2b
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
mov ecx, dword [esp + 0x30]
add esp, 0x14
cmp ecx, 8
jb 0x488b12
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x488b00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [edi], eax
jmp 0x488b33
lea eax, [esp + 0x14]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
add ecx, 0x60
add ebp, 0x60
call fcn.00401970
cmp ebp, eax
je 0x488cf0
call fcn.00401970
mov dword [esp + 0x18], eax
cmp dword [eax + 0x14], 8
jb 0x488b63
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 0x10]
mov ecx, ebp
call fcn.00401970
mov edi, eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
cmp ebx, eax
ja 0x488baf
mov esi, edi
cmp eax, 8
jb 0x488b83
mov esi, dword [edi]
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x488cf0
mov ecx, ebp
call fcn.00401b82
cmp ebx, eax
ja 0x488f3b
mov ecx, ebp
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x24], ecx
cmp ecx, esi
ja 0x488c05
mov ecx, ebp
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x488c05
lea eax, [edx + ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x488c17
or ecx, 0xffffffff
jmp 0x488c1f
cmp ecx, 0x1000
jb 0x488c4a
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x488c5b
test ecx, ecx
je 0x488c59
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x488c5b
xor eax, eax
mov dword [esp + 0x14], eax
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.00401a2b
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
mov ecx, dword [esp + 0x30]
add esp, 0x14
cmp ecx, 8
jb 0x488ccf
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x488cbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [edi], eax
jmp 0x488cf0
lea eax, [esp + 0x14]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
add ecx, 0x78
add ebp, 0x78
call fcn.00401970
cmp ebp, eax
je 0x488ead
call fcn.00401970
mov dword [esp + 0x18], eax
cmp dword [eax + 0x14], 8
jb 0x488d20
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + 0x10]
mov ecx, ebp
call fcn.00401970
mov edi, eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
cmp ebx, eax
ja 0x488d6c
mov esi, edi
cmp eax, 8
jb 0x488d40
mov esi, dword [edi]
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
push esi
call fcn.00401a12
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
add esp, 0x14
jmp 0x488ead
mov ecx, ebp
call fcn.00401b82
cmp ebx, eax
ja 0x488f40
mov ecx, ebp
call fcn.00401b82
mov ecx, ebx
mov esi, eax
or ecx, 7
mov dword [esp + 0x24], ecx
cmp ecx, esi
ja 0x488dc2
mov ecx, ebp
call fcn.00401970
mov edx, dword [eax + 0x14]
mov ecx, edx
shr ecx, 1
mov eax, esi
sub eax, ecx
cmp edx, eax
ja 0x488dc2
lea eax, [edx + ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004019ef
add esp, 8
mov esi, dword [eax]
lea eax, [esi + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x488dd4
or ecx, 0xffffffff
jmp 0x488ddc
cmp ecx, 0x1000
jb 0x488e07
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.00495cb6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x488f27
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x488e18
test ecx, ecx
je 0x488e16
push ecx
call fcn.00495cb6
add esp, 4
jmp 0x488e18
xor eax, eax
mov dword [esp + 0x14], eax
push ebx
push dword [esp + 0x1c]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
push esi
call fcn.00401a2b
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
lea eax, [esi + ebx*2]
push eax
call fcn.00401a01
mov ecx, dword [esp + 0x30]
add esp, 0x14
cmp ecx, 8
jb 0x488e8c
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x488e7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x488f27
mov eax, edx
push ecx
push eax
call fcn.00495ce6
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [edi], eax
jmp 0x488ead
lea eax, [esp + 0x14]
push eax
call fcn.00401a5f
push edi
mov esi, eax
call fcn.00401a5f
push eax
push 4
call fcn.00401880
mov ecx, dword [esi]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
movzx eax, byte [ecx + 0x90]
lea esi, [ecx + 0x98]
mov byte [ebp + 0x90], al
lea edi, [ebp + 0x98]
movzx eax, byte [ecx + 0x91]
mov byte [ebp + 0x91], al
movzx eax, byte [ecx + 0x92]
mov byte [ebp + 0x92], al
movzx eax, byte [ecx + 0x93]
mov byte [ebp + 0x93], al
movzx eax, byte [ecx + 0x94]
mov byte [ebp + 0x94], al
movzx eax, byte [ecx + 0x95]
mov ecx, 0xd7
mov byte [ebp + 0x95], al
mov eax, ebp
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4
call fcn.00401b40
call fcn.00499d54
call fcn.00401b40
call fcn.00401b40
call fcn.00401b40
call fcn.00401b40
call fcn.00401b40
int3