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

Disassembly:
sub esp, 0xd0
push ebx
xor ebx, ebx
push esi
mov esi, dword [esp + 0xdc]
push edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
cmp esi, ebx
je 0x48a96b
mov edi, dword [esp + 0xe4]
cmp edi, ebx
je 0x48a96b
cmp dword [esp + 0xe8], ebx
je 0x48a96b
cmp dword [esi + 0xc], ebx
je 0x48a96b
cmp dword [esi + 0x18], ebx
je 0x48a96b
cmp dword [edi + 0x10], ebx
je 0x48a96b
cmp dword [esi + 0x24], ebx
jne 0x48a0e0
cmp dword [edi + 4], 0xffffffff
je 0x48a96b
lea eax, [esp + 0xbc]
push ebp
push eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x90], ebx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea ecx, [esp + 0x20]
push ecx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea edx, [esp + 0x38]
push edx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea eax, [esp + 0x4c]
push eax
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea ecx, [esp + 0xa0]
push ecx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea edx, [esp + 0xb0]
push edx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea eax, [esp + 0x90]
push eax
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea ecx, [esp + 0xd0]
push ecx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
lea edx, [esp + 0x80]
push edx
call fcn.004b18b0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jl 0x48a89a
mov eax, dword [esp + 0xec]
mov dword [eax], ebx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004b1780
mov ebp, eax
add esp, 0xc
cmp ebp, ebx
jl 0x48a89a
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
push ecx
push edx
lea eax, [esp + 0x40]
push eax
call fcn.004b1780
mov ebp, eax
add esp, 0xc
cmp ebp, ebx
jl 0x48a89a
mov eax, dword [esi + 0x24]
cmp eax, ebx
je 0x48a262
mov ecx, dword [esi + 0x20]
push eax
push ecx
lea edx, [esp + 0x54]
push edx
call fcn.004b1780
mov ebp, eax
add esp, 0xc
cmp ebp, ebx
jl 0x48a89a
lea eax, [esp + 0x38]
push eax
call fcn.004b6010
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x20], eax
call fcn.004b6010
mov ebx, eax
add esp, 8
mov dword [esp + 0x30], ebx
cmp ebx, 0x400
jae 0x48a2d5
cmp dword [esp + 0x18], 0xa0
jne 0x48a88d
lea eax, [ebx - 0x200]
cmp eax, 0x200
ja 0x48a378
test bl, 0x3f
jne 0x48a378
lea eax, [ebx - 0x200]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
cmp eax, 8
ja 0x48a378
mov dword [esp + 0x10], 0x1000
jmp 0x48a2f3
mov ecx, dword [esp + 0x18]
mov eax, ebx
call fcn.004874b0
test eax, eax
jne 0x48a88d
lea eax, [ebx*4]
mov dword [esp + 0x10], eax
cmp dword [esi + 0x24], 0
je 0x48a321
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004b0dc0
add esp, 8
test eax, eax
jl 0x48a321
mov eax, dword [esp + 0xec]
mov dword [eax], 0xffffffff
jmp 0x48a89a
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004b32d0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
lea ecx, [esp + 0xd0]
push 1
push ecx
call fcn.004b0d90
add esp, 8
test eax, eax
jne 0x48a88d
mov eax, ebx
call fcn.00487480
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.004b6180
add esp, 8
test eax, eax
je 0x48a38a
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
mov eax, ebx
call fcn.00487480
push eax
lea edx, [esp + 0x24]
push edx
call fcn.004b6180
add esp, 8
test eax, eax
je 0x48a3b5
mov eax, dword [esp + 0xec]
mov dword [eax], 0xffffffff
jmp 0x48a89a
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x48a3d5
cmp eax, dword [esp + 0x10]
jb 0x48a3d5
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
mov esi, dword [edi + 0x10]
add esi, esi
add esi, esi
add esi, esi
cmp esi, dword [esp + 0x18]
jb 0x48a88d
mov eax, dword [esp + 0x10]
shr eax, 1
cmp esi, eax
jae 0x48a88d
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x3c]
push edx
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x44]
push ecx
lea eax, [edi + 8]
push eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x44]
push edx
lea ebx, [esp + 0xc8]
mov ecx, esi
call fcn.00488860
add esp, 0x18
test eax, eax
je 0x48a442
mov eax, dword [esp + 0xec]
mov dword [eax], 0xffffffff
jmp 0x48a89a
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a46d
mov eax, dword [esp + 0xec]
mov dword [eax], 0xffffffff
jmp 0x48a89a
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp eax, 2
jne 0x48a5db
mov esi, dword [edi + 0x10]
mov ecx, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], eax
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
cmp ecx, esi
jb 0x48a4c2
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
mov esi, dword [esp + 0x18]
lea eax, [edx*8]
dec esi
cmp eax, esi
ja 0x48a4e4
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
mov eax, dword [edi + 0x10]
lea esi, [edx + ecx]
cmp esi, eax
jae 0x48a88d
mov esi, dword [edi + 0xc]
mov edi, esi
sub edi, ecx
add edi, eax
sub eax, edx
sub eax, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], eax
add esi, edx
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0xc8]
push edx
lea ecx, [esi + 1]
lea eax, [esp + 0x80]
shr ecx, 1
push eax
inc ecx
push ecx
push ebx
mov dword [esp + 0x90], edi
call fcn.004884b0
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48a89a
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0xc8]
push ecx
push esi
push ebx
lea edx, [esp + 0xb4]
lea ecx, [esp + 0xc4]
call fcn.00487d60
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48a89a
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a5af
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.00428b60
add esp, 8
test eax, eax
je 0x48a66e
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
cmp dword [edi + 4], 0xffffffff
jne 0x48a5ee
test eax, eax
jne 0x48a675
jmp 0x48a88d
push ebx
call fcn.004a9af0
add esp, 4
test eax, eax
je 0x48a5fd
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
lea edi, [eax*8]
xor edx, edx
lea eax, [ecx - 1]
div edi
mov edi, dword [esp + 0xe8]
mov edx, dword [esp + 0x10]
inc eax
imul eax, dword [edi + 4]
neg edx
sbb edx, edx
add edx, 2
add eax, edx
mov edx, dword [esp + 0x48]
push edx
push esi
push eax
push ecx
push ebx
lea edx, [esp + 0xb4]
lea ecx, [esp + 0x4c]
call fcn.00488b50
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48a89a
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a675
jmp 0x48a88d
mov edi, dword [esp + 0xe8]
mov eax, dword [esp + 0xe4]
cmp dword [eax + 0x24], 0
je 0x48a89a
push 0
lea ecx, [esp + 0x24]
push 0
push ecx
call fcn.004b5ec0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
lea edx, [esp + 0x4c]
push 2
push edx
call fcn.004b0d90
add esp, 8
test eax, eax
jle 0x48a378
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.004b0dc0
add esp, 8
test eax, eax
jge 0x48a378
push 1
lea edx, [esp + 0x24]
push 0
push edx
call fcn.004b5ec0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.004b5bf0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jl 0x48a89a
lea ecx, [esp + 0x80]
push 1
push ecx
call fcn.004b0d90
add esp, 8
test eax, eax
jne 0x48a88d
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x48a753
cmp dword [esp + 0x10], eax
je 0x48a89a
mov eax, dword [esp + 0xec]
mov dword [eax], 0xfffffffe
jmp 0x48a89a
cmp eax, 1
jne 0x48a7bf
cmp dword [esp + 0x10], 0
je 0x48a7bf
mov ecx, dword [edi + 0x18]
movzx edx, byte [ecx]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x54]
push ebx
lea edx, [esp + 0xa0]
call fcn.00489160
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48a89a
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a89a
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xffffffff
jmp 0x48a89a
mov edx, dword [edi + 0x18]
push eax
push edx
lea eax, [esp + 0x88]
push eax
call fcn.004b1780
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
push 0
lea ecx, [esp + 0x24]
push 0
push ecx
call fcn.004b5ec0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
lea edx, [esp + 0x4c]
push 2
push edx
call fcn.004b0d90
add esp, 8
test eax, eax
jle 0x48a30f
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a30f
push 1
lea edx, [esp + 0x24]
push 0
push edx
call fcn.004b5ec0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jl 0x48a89a
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x40]
push edx
lea edi, [esp + 0x8c]
lea ebx, [esp + 0x2c]
call fcn.00488fc0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48a89a
cmp dword [esp + 0x34], eax
je 0x48a88d
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.004b0dc0
add esp, 8
test eax, eax
je 0x48a89a
mov edx, dword [esp + 0xec]
mov dword [edx], 0xffffffff
lea eax, [esp + 0xc0]
push eax
call fcn.004b0c10
lea ecx, [esp + 0x24]
push ecx
call fcn.004b0c10
lea edx, [esp + 0x40]
push edx
call fcn.004b0c10
lea eax, [esp + 0x58]
push eax
call fcn.004b0c10
lea ecx, [esp + 0xb0]
push ecx
call fcn.004b0c10
lea edx, [esp + 0xc4]
push edx
call fcn.004b0c10
lea eax, [esp + 0xa8]
push eax
call fcn.004b0c10
lea ecx, [esp + 0xec]
push ecx
call fcn.004b0c10
lea edx, [esp + 0xa0]
push edx
call fcn.004b0c10
add esp, 0x24
cmp dword [esp + 0x60], 0
je 0x48a91f
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.00428e40
add esp, 8
test ebp, ebp
je 0x48a95c
cmp ebp, 0xfffffffc
je 0x48a947
cmp ebp, 0xfffffffd
je 0x48a940
cmp ebp, 0xfffffffe
je 0x48a939
push 0xffffe001
jmp 0x48a94c
push 0xffffe013
jmp 0x48a94c
push 0xffffe002
jmp 0x48a94c
push 0xffffe005
call fcn.004207c0
add esp, 4
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x14]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xd0
ret
push 0xffffe005
call fcn.004207c0
add esp, 4
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0xd0
ret