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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx]
ja 0x488d43
xor edi, edi
mov eax, 0x1c
call fcn.0042a440
jmp fcn.00488d20
sub esp, 0xa8
movsd xmm1, qword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov ebp, dword [ecx + 0x44]
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x27], 0x28
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x6c]
cmp ebx, 0
je 0x4891f0
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ebp
mov eax, ebp
sub ebp, edx
cmp ebp, 1
jge 0x488e01
mov dword [esp], 0x5ca1c0
mov dword [esp + 0x90], esi
mov dword [esp + 4], esi
mov dword [esp + 0x94], edx
mov dword [esp + 8], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004276f0
movsd xmm1, qword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, edx
inc ebx
mov edi, eax
mov eax, esi
mov esi, ebx
mov dword [esp + 0x98], edi
lea ebx, [eax + edx]
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x6c]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movzx ebp, byte [ecx + 0x53]
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
movzx ebp, byte [ecx + 0x55]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
mov ebp, dword [ecx + 0x48]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0
mov ebx, dword [esp + 0xc4]
cmp ebx, 0x47
jg 0x489074
cmp ebx, 0x45
jne 0x48919b
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x489194
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x45
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
cmp dword [esp + 0x40], 0
je 0x48903a
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
mov byte [ecx + 0x55], al
xchg ebp, eax
movzx ebp, byte [esp + 0x26]
xchg ebp, eax
mov byte [ecx + 0x53], al
xchg ebp, eax
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x48], ebp
mov ebp, dword [ecx + 0x44]
mov ebx, dword [0x7653f0]
mov dword [esp + 0x84], ebx
mov ebx, dword [0x7653f4]
mov dword [esp + 0x88], ebx
mov ebx, dword [0x7653f8]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x68], ebp
cmp ebp, 0
je 0x489032
mov ebx, ebp
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [esp + 0xa0], ebp
mov esi, dword [ebx + 8]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x94], ebp
mov ebx, dword [esp + 0x88]
mov edi, ebp
add ebp, ebx
mov dword [esp + 0x98], esi
sub ebp, esi
cmp ebp, 0
jle 0x488fd1
mov dword [esp], 0x5ca1c0
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, ebp
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004276f0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x90]
lea ebp, [ebp + ebx]
mov dword [esp], ebp
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0042c4a0
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0xa0]
add edx, edi
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0x68]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
add esp, 0xa8
ret
mov dword [ebp], eax
jmp 0x488f38
mov byte [ecx + 0x53], 1
mov byte [ecx + 0x55], 0
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x48], ebp
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0xb0], xmm1
mov ebx, dword [esp + 0x40]
inc ebx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0xc4]
cmp ebx, 0x47
jle 0x488e81
cmp ebx, 0x65
jg 0x489100
cmp ebx, 0x62
jne 0x4890b4
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x62
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
jmp 0x488ec8
cmp ebx, 0x65
jne 0x488ec8
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x4890fc
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x65
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
jmp 0x488ec8
mov eax, edx
jmp 0x4890ce
cmp ebx, 0x66
jne 0x489148
mov edx, 6
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x489144
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x66
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
jmp 0x488ec8
mov eax, edx
jmp 0x489116
cmp ebx, 0x67
jne 0x488ec8
mov edx, 0xffffffff
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x489190
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x67
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
jmp 0x488ec8
mov eax, edx
jmp 0x489162
mov eax, edx
jmp 0x488e9f
cmp ebx, 0x46
je 0x489105
cmp ebx, 0x47
jne 0x488ec8
mov edx, 0xffffffff
movzx ebx, byte [ecx + 0x51]
cmp bl, 0
je 0x4891ec
mov eax, dword [ecx + 0x4c]
mov dword [esp], ecx
movsd qword [esp + 4], xmm1
mov byte [esp + 0xc], 0x47
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
call fcn.00488060
mov ecx, dword [esp + 0xac]
jmp 0x488ec8
mov eax, edx
jmp 0x4891be
mov dword [ebx], eax
jmp 0x488d82