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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x84
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x18]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 0x78], eax
mov dword [esp + 8], 0
call fcn.0045dff0
test eax, eax
je 0x48cbab
mov eax, dword [esp + 0x18]
cmp eax, 0x31000
jb 0x48c4df
cmp eax, 0x33001
jbe 0x48c510
mov dword [esp + 0x38], 2
mov dword [esp], 0x80000004
call fcn.00464470
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.00464480
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x1c]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d5a0
cmp eax, 0x1c
je 0x48c53e
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
lea eax, [esp + 0x1c]
mov dword [esp + 4], 0x1c
mov dword [esp], eax
call fcn.00464470
lea eax, [esp + 0x2c]
mov dword [esp + 4], 0xc
mov dword [esp], eax
call fcn.0045e260
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
call fcn.0048bbbc
mov esi, eax
test esi, esi
je 0x48cbab
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x54], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x58], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
cmp eax, 1
jle 0x48c721
dec eax
mov dword [esp + 0x74], eax
mov eax, dword [esi + 8]
test eax, 0x1000000
je 0x48c5b9
mov edi, 0x1c
jmp 0x48c5d6
mov edx, dword [esi + 0x14]
lea ecx, [edx*8]
mov ebx, eax
lea eax, [ecx + edx*4]
mov edi, eax
add edi, 0x1c
test bl, 0x10
je 0x48c5d6
lea edi, [eax + eax + 0x1c]
mov ebx, dword [esp + 0x74]
mov eax, dword [esi + 0x68]
add ebx, dword [esi + 0x18]
imul ebx, edi
test eax, eax
je 0x48cc0d
mov dword [esp + 4], ebx
mov edx, dword [0x504988]
mov dword [esp], eax
call dword [edx + 0x138]
mov dword [esp + 0x70], eax
test eax, eax
je 0x48cbe0
mov ebx, dword [esi + 0x18]
mov ecx, dword [esp + 0x74]
imul edi, ebx
imul ebx, ebx, 0x1c
lea edx, [edi + eax - 1]
sub edi, ebx
imul ecx, ecx, 0x1c
lea ebx, [edi - 1]
add ecx, edx
test edi, edi
je 0x48c647
lea esi, [esi]
mov eax, ecx
dec ecx
dec ebx
dec edx
cmp ebx, 0xffffffff
mov dword [esp + 0x7c], ebx
mov bh, byte [edx + 1]
mov byte [eax], bh
mov ebx, dword [esp + 0x7c]
jne 0x48c630
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
add edx, dword [esi + 0x18]
xor ebx, ebx
mov dword [esi + 0x68], eax
imul ecx, edx, 0x1c
mov dword [esi + 0x18], edx
add eax, ecx
test edx, edx
jle 0x48c6cc
xor ecx, ecx
xor edi, edi
mov ebp, eax
lea esi, [esi]
mov edx, dword [esi + 0x68]
mov dword [edx + ecx + 0x18], edi
mov dword [edx + ecx + 0x14], edi
mov eax, dword [esi + 8]
test eax, 0x1000000
jne 0x48c6c1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x48c6c1
mov dword [edx + ecx + 0x14], ebp
mov eax, dword [esi + 0x14]
mov dword [esp + 0x7c], edi
lea edi, [eax*8]
lea edi, [edi + eax*4]
mov eax, dword [esi + 8]
add ebp, edi
test al, 0x10
mov edi, dword [esp + 0x7c]
je 0x48c6c1
mov dword [edx + ecx + 0x18], ebp
mov eax, dword [esi + 0x14]
lea edx, [eax*8]
lea edx, [edx + eax*4]
add ebp, edx
mov edx, dword [esi + 0x18]
inc ebx
add ecx, 0x1c
cmp ebx, edx
jl 0x48c670
mov eax, dword [esp + 0x74]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp ecx, edx
jge 0x48c719
imul edx, eax, 0x1c
xor ecx, ecx
mov ebx, eax
mov eax, edx
mov edx, ebx
lea esi, [esi]
lea edi, [edi]
mov ebx, dword [esi + 0x68]
inc edx
mov dword [ebx + eax], esi
mov dword [ebx + eax + 0x10], ecx
mov dword [ebx + eax + 0xc], ecx
mov dword [ebx + eax + 8], ecx
mov dword [ebx + eax + 4], ecx
mov ebx, dword [esi + 0x18]
add eax, 0x1c
cmp edx, ebx
jl 0x48c6f0
mov eax, dword [esp + 0x74]
mov ecx, ebx
sub ecx, eax
test ecx, ecx
jl 0x48ca0b
mov eax, dword [esi + 8]
test eax, 0x1000000
jne 0x48c844
mov eax, dword [esi + 0x14]
test eax, eax
je 0x48c844
mov edx, dword [esp + 0x1c]
test dl, 8
je 0x48c768
add eax, eax
mov edx, dword [esi + 0x30]
mov ebx, eax
add ebx, ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0045d5a0
cmp eax, ebx
jne 0x48c830
mov eax, dword [esi + 0x1c]
test eax, eax
jle 0x48c7a6
mov edi, dword [esi + 0x14]
xor ebx, ebx
add edi, edi
add edi, edi
add edi, edi
test eax, eax
jle 0x48c7a6
mov ebp, dword [esp + 0x78]
mov eax, dword [esi + ebx*4 + 0x34]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0045e390
test eax, eax
je 0x48ca1f
inc ebx
mov eax, dword [esi + 0x1c]
cmp ebx, eax
jl 0x48c782
mov edi, dword [esi + 0x10]
test edi, edi
je 0x48c844
lea eax, [edi + edi]
mov ebx, dword [esi + 0x2c]
add eax, eax
mov edx, dword [esp + 0x78]
add eax, eax
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 0x70], eax
mov dword [esp + 4], ebx
call fcn.0045d5a0
mov edx, dword [esp + 0x70]
cmp eax, edx
je 0x48c7ef
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, edx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00464470
test edi, edi
je 0x48c844
mov edx, edi
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov word [ebx + 2], ax
shr eax, 0x10
mov word [ebx + 6], cx
shr ecx, 0x10
mov word [ebx], ax
mov word [ebx + 4], cx
add ebx, 8
dec edx
jne 0x48c803
jmp 0x48c844
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
mov edx, dword [esi + 0x18]
mov dword [esp + 0x70], eax
test edx, edx
jle 0x48c995
xor ebx, ebx
mov ebp, dword [esp + 0x78]
nop
lea esi, [esi]
lea eax, [esp + 0x50]
mov edi, dword [esi + 0x68]
mov dword [esp + 4], eax
mov eax, 0x18
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0045d5a0
cmp eax, 0x18
jne 0x48cbcc
lea eax, [esp + 0x50]
mov edx, 0xc
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0045e260
lea eax, [esp + 0x5c]
mov edx, 4
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0045e260
lea eax, [esp + 0x50]
mov edx, 0x18
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00464470
mov eax, dword [esp + 0x50]
mov dword [ebx + edi + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + edi + 8], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + edi + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + edi + 0x10], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48c920
mov edx, dword [esp + 0x64]
test edx, edx
je 0x48c920
mov dword [esp], ebp
mov edi, dword [ebx + edi + 0x14]
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
imul eax, eax, 0x18
mov dword [esp + 8], eax
call fcn.0045e390
test eax, eax
je 0x48ca33
jmp 0x48c97e
test eax, eax
je 0x48c94d
mov dword [esp], ebp
mov eax, dword [ebx + edi + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x14]
lea edx, [eax*8]
lea edx, [edx + eax*4]
mov dword [esp + 8], edx
call fcn.0045e390
test eax, eax
je 0x48cbb8
mov eax, dword [esp + 0x64]
test eax, eax
je 0x48c97e
mov dword [esp], ebp
mov edi, dword [ebx + edi + 0x18]
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
lea edx, [eax*8]
lea edx, [edx + eax*4]
mov dword [esp + 8], edx
call fcn.0045e390
test eax, eax
je 0x48cba4
mov eax, dword [esp + 0x70]
add ebx, 0x1c
inc eax
mov edx, dword [esi + 0x18]
mov dword [esp + 0x70], eax
cmp eax, edx
jl 0x48c860
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x18]
mov dword [esp + 4], 8
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
call fcn.0045dff0
test eax, eax
je 0x48cbab
mov eax, dword [esp + 0x18]
cmp eax, 0x31000
jb 0x48c9d3
cmp eax, 0x33001
jbe 0x48ca47
mov eax, esi
call fcn.0048be74
mov dword [esp + 0x68], 2
mov dword [esp], 0x80000004
call fcn.00464470
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00464480
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
lea edx, [esp + 0x2c]
mov dword [esp], edx
call fcn.00490170
mov eax, dword [esp + 0x78]
lea edx, [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00495110
test eax, eax
jne 0x48ca7e
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp], 0
call fcn.00490170
mov eax, dword [esp + 0x78]
mov dword [esp], 0x4f7a40
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call fcn.00476eb0
test eax, eax
je 0x48cb90
mov eax, dword [esi + 0x60]
test eax, eax
je 0x48cad6
test esi, esi
je 0x48cac2
add esp, 0x84
mov eax, esi
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.00493300
mov edi, eax
test edi, edi
je 0x48cac2
xor ebx, ebx
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x48cb4e
mov ebp, dword [esi + 0x2c]
movsx eax, word [ebp + ebx*8 + 6]
cmp eax, 0xffffffff
jne 0x48cb10
xor eax, eax
jmp 0x48cb1f
lea edx, [esi + 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00494e10
mov dword [esp + 4], eax
mov dword [esp], edi
movzx eax, word [ebp + ebx*8]
mov dword [esp + 8], eax
movzx eax, word [ebp + ebx*8 + 2]
mov dword [esp + 0xc], eax
movzx ebp, word [ebp + ebx*8 + 4]
mov dword [esp + 0x10], ebp
call fcn.00493490
inc ebx
mov eax, dword [esi + 0x10]
cmp ebx, eax
jl 0x48caf0
mov eax, dword [esi + 8]
test al, 1
je 0x48cb67
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.00497ca0
jmp 0x48cb77
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00497ca0
test eax, eax
je 0x48cb83
mov dword [esi + 0x60], eax
jmp 0x48cab1
mov dword [esp], edi
call fcn.004933f0
jmp 0x48cac2
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, esi
call fcn.0048be74
add esp, 0x84
xor eax, eax
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x40], 2
mov dword [esp], 0x80000013
mov dword [esp + 4], ebx
call fcn.00464470
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.00464480
jmp 0x48ca0b
mov dword [esp], ebx
mov eax, dword [0x504988]
call dword [eax + 0x130]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x48c647
mov dword [esp + 0x48], 2
mov dword [esp], 0x80000013
mov dword [esp + 4], ebx
call fcn.00464470
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00464480
jmp 0x48ca0b