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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
push esi
push edi
xor edi, edi
mov byte [esp + 0x17], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], edi
mov eax, 7
sub eax, 1
mov dword [esp + eax*4 + 0x54], edi
jns 0x48b863
mov eax, dword [ebp + 8]
fldz
mov ecx, dword [eax + 0x14]
mov esi, dword [ecx + 4]
cmp esi, edi
je 0x48b94e
mov edx, dword [esi + 0xc]
cmp edx, edi
je 0x48b943
fcom dword [edx + 8]
fnstsw ax
test ah, 0x44
jp 0x48b939
mov ecx, dword [edx + 0x1c]
cmp ecx, edi
je 0x48b939
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
test dword [eax + 0x30], 0x100000
jne 0x48b8bc
mov eax, dword [0x53f830]
cmp dword [ecx + 8], eax
je 0x48b92f
movzx eax, byte [ecx + 0x38]
mov dword [esp + eax*4 + 0x50], 1
mov eax, dword [ecx + 0x20]
cmp eax, edi
je 0x48b903
mov ebx, dword [eax + 0x10]
mov dword [ebx + 0x24], edi
mov ebx, dword [eax + 0x14]
mov dword [ebx + 0x24], edi
mov ebx, dword [eax + 0x18]
mov dword [ebx + 0x24], edi
mov ebx, dword [eax + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebx + 0x14], edi
mov ebx, dword [eax + 0x14]
mov ebx, dword [ebx + 4]
mov dword [ebx + 0x14], edi
mov ebx, dword [eax + 0x18]
mov ebx, dword [ebx + 4]
mov dword [ebx + 0x14], edi
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x48b8cf
mov eax, dword [ecx + 0x24]
cmp eax, edi
je 0x48b92f
mov ebx, dword [eax + 0x10]
mov dword [ebx + 0x24], edi
mov ebx, dword [eax + 0x14]
mov dword [ebx + 0x24], edi
mov ebx, dword [eax + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebx + 0x14], edi
mov ebx, dword [eax + 0x14]
mov ebx, dword [ebx + 4]
mov dword [ebx + 0x14], edi
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x48b90a
mov ecx, dword [ecx]
cmp ecx, edi
jne 0x48b8a3
mov edx, dword [edx]
cmp edx, edi
jne 0x48b88a
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x48b87f
xor ebx, ebx
mov dword [esp + 0x2c], ebx
cmp dword [esp + ebx*4 + 0x50], edi
lea eax, [esp + ebx*4 + 0x50]
mov dword [esp + 0x24], eax
je 0x48bcc1
test bl, 4
je 0x48b97c
push 0x547618
fstp st(0)
call fcn.00442cd0
fldz
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + 4]
cmp eax, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], eax
je 0x48bcbb
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x48bc90
mov ecx, dword [esp + 0x28]
fld st(0)
fcomp dword [ecx + 8]
fnstsw ax
test ah, 0x44
jp 0x48bc7a
mov edx, ecx
mov eax, dword [edx + 0x1c]
cmp eax, edi
mov dword [esp + 0x1c], eax
je 0x48bc7a
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x38]
cmp ecx, dword [esp + 0x2c]
jne 0x48bc68
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
test dword [eax + 0x30], 0x100000
jne 0x48ba01
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x53f830]
cmp dword [ecx + 8], edx
je 0x48bc68
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x20], edi
lea ecx, [esi + 0x20]
je 0x48ba79
mov edx, dword [esi + 0x10]
cmp edx, edi
je 0x48ba2d
mov eax, dword [edx + 4]
cmp eax, edi
je 0x48ba27
mov dword [ecx], eax
lea ecx, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x48ba1b
mov edx, dword [edx]
cmp edx, edi
jne 0x48ba14
mov edx, dword [esi + 0xc]
cmp edx, edi
je 0x48ba4d
mov eax, dword [edx + 4]
cmp eax, edi
je 0x48ba47
mov dword [ecx], eax
lea ecx, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x48ba3b
mov edx, dword [edx]
cmp edx, edi
jne 0x48ba34
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x48ba60
mov dword [ecx], eax
lea ecx, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x48ba54
mov dword [ecx], edi
mov eax, dword [esi + 0x20]
mov dword [eax], edi
cmp dword [eax + 4], edi
je 0x48ba79
mov ecx, dword [eax + 4]
mov dword [ecx], eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], edi
jne 0x48ba6c
cmp dword [esi + 0x24], edi
lea ecx, [esi + 0x24]
je 0x48bacf
mov edx, dword [esi + 0x18]
cmp edx, edi
je 0x48baa1
mov eax, dword [edx + 4]
cmp eax, edi
je 0x48ba9b
mov dword [ecx], eax
lea ecx, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x48ba8f
mov edx, dword [edx]
cmp edx, edi
jne 0x48ba88
mov eax, dword [esi + 0x1c]
cmp eax, edi
je 0x48bab4
mov dword [ecx], eax
lea ecx, [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x48baa8
mov dword [ecx], edi
lea eax, [esi + 0x24]
mov eax, dword [eax]
mov dword [eax], edi
cmp dword [eax + 4], edi
je 0x48bacf
mov edx, dword [eax + 4]
mov dword [edx], eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], edi
jne 0x48bac2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x20]
add eax, 0x20
or esi, 0xffffffff
xor ebx, ebx
cmp ecx, edi
je 0x48bbae
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x24]
cmp eax, edi
jne 0x48bb19
mov edx, dword [edx + 4]
cmp dword [edx + 0x14], edi
jne 0x48bb06
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
add eax, 1
mov dword [esp + 0x18], eax
mov dword [edx + 0x24], eax
xor edi, edi
cmp eax, esi
jae 0x48bb1f
mov esi, eax
cmp eax, ebx
jbe 0x48bb25
mov ebx, eax
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + 0x24]
cmp eax, edi
jne 0x48bb58
mov edx, dword [edx + 4]
cmp dword [edx + 0x14], edi
jne 0x48bb45
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
add eax, 1
mov dword [esp + 0x18], eax
mov dword [edx + 0x24], eax
xor edi, edi
cmp eax, esi
jae 0x48bb5e
mov esi, eax
cmp eax, ebx
jbe 0x48bb64
mov ebx, eax
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x24]
cmp eax, edi
jne 0x48bb97
mov edx, dword [edx + 4]
cmp dword [edx + 0x14], edi
jne 0x48bb84
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
add eax, 1
mov dword [esp + 0x18], eax
mov dword [edx + 0x24], eax
xor edi, edi
cmp eax, esi
jae 0x48bb9d
mov esi, eax
cmp eax, ebx
jbe 0x48bba3
mov ebx, eax
mov ecx, dword [ecx + 4]
cmp ecx, edi
jne 0x48bae6
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
add eax, 0x24
cmp ecx, edi
je 0x48bc49
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x24]
cmp eax, edi
jne 0x48bbf3
mov edx, dword [edx + 4]
cmp dword [edx + 0x14], edi
jne 0x48bbe0
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
add eax, 1
mov dword [esp + 0x18], eax
mov dword [edx + 0x24], eax
xor edi, edi
cmp eax, esi
jae 0x48bbf9
mov esi, eax
cmp eax, ebx
jbe 0x48bbff
mov ebx, eax
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + 0x24]
cmp eax, edi
jne 0x48bc32
mov edx, dword [edx + 4]
cmp dword [edx + 0x14], edi
jne 0x48bc1f
mov eax, dword [esp + 0x10]
add eax, 1
mov dword [esp + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x14]
add eax, 1
mov dword [esp + 0x18], eax
mov dword [edx + 0x24], eax
xor edi, edi
cmp eax, esi
jae 0x48bc38
mov esi, eax
cmp eax, ebx
jbe 0x48bc3e
mov ebx, eax
mov ecx, dword [ecx + 4]
cmp ecx, edi
jne 0x48bbc0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x20]
cmp eax, edi
mov dword [ecx + 0x30], esi
je 0x48bc5c
mov dword [eax + 0x2c], ebx
jmp 0x48bc68
lea eax, [ecx + 0x24]
mov eax, dword [eax]
cmp eax, edi
je 0x48bc68
mov dword [eax + 0x18], ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x48b9cd
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, edi
mov dword [esp + 0x28], eax
jne 0x48b9a8
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x48b995
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x48bcbb
mov ecx, dword [esp + 0x24]
add dword [esp + 0x20], eax
or byte [esp + 0x17], bl
mov dword [ecx], eax
jmp 0x48bcc1
mov edx, dword [esp + 0x24]
mov dword [edx], edi
add ebx, 1
cmp ebx, 8
mov dword [esp + 0x2c], ebx
jl 0x48b954
cmp dword [esp + 0x20], edi
fstp st(0)
je 0x48c318
mov edx, dword [esp + 0x10]
xor esi, esi
cmp edx, 0x7f
mov dword [esp + 0x34], esi
mov ecx, 1
jbe 0x48bcfc
shr edx, 7
add ecx, 1
cmp edx, 0x7f
ja 0x48bcf1
mov bl, byte [esp + 0x17]
mov eax, dword [esp + 0x10]
neg bl
lea ecx, [ecx + eax*8]
lea eax, [eax + ecx + 0x18]
mov ecx, dword [esp + 0x50]
sbb ebx, ebx
and ebx, 0x8000
cmp ecx, edi
mov dword [esp + 0x40], ebx
jbe 0x48bd3d
cmp ecx, 0x7f
mov esi, 1
mov dword [esp + 0x34], esi
mov edx, esi
jbe 0x48bd3b
shr ecx, 7
add edx, esi
cmp ecx, 0x7f
ja 0x48bd31
add eax, edx
mov edx, dword [ebp + 8]
push eax
push ebx
push 0x22
push edx
mov eax, esi
call fcn.0048a700
add esp, 0x10
cmp eax, edi
jle 0x48c31d
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x14]
add eax, 8
push eax
mov eax, dword [esi + 4]
push 4
push 3
push eax
call fcn.004c3440
add esp, 0x10
neg eax
sbb eax, eax
add eax, 1
cmp eax, edi
jle 0x48c31d
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
add eax, 0x14
push eax
push 4
push 3
push ecx
call fcn.004c3440
add esp, 0x10
neg eax
sbb eax, eax
add eax, 1
cmp eax, edi
jle 0x48c31d
mov eax, dword [esp + 0x10]
call fcn.0048a6b0
cmp eax, edi
jle 0x48c31d
mov ecx, esi
mov eax, dword [ecx + 0x14]
fld dword [eax + 8]
xor edx, edx
fst qword [esp + 0x70]
mov dword [esp + 0x4c], edi
fld dword [eax + 0xc]
mov dword [esp + 0x48], edi
fst qword [esp + 0x78]
mov dword [esp + 0x44], edi
fld dword [eax + 0x10]
mov ebx, 1
fst qword [esp + 0x80]
mov dword [esp + 0x2c], edi
fld dword [eax + 0x14]
fsubrp st(3)
fld dword [eax + 0x18]
fsubrp st(2)
fsubr dword [eax + 0x1c]
lea eax, [ecx + 0x50]
fld qword [0x511278]
sub ecx, eax
fld st(0)
add ecx, 0x48
fdivrp st(4)
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
fxch st(3)
fstp qword [esp + 0x88]
fld st(2)
fdivrp st(2)
fxch st(1)
fstp qword [esp + 0x90]
fdivp st(1)
fstp qword [esp + 0x98]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + eax*4 + 0x50]
test eax, eax
mov ecx, dword [esp + 0x24]
je 0x48c000
mov esi, dword [esp + 0x20]
mov byte [ecx + esi], dl
add edx, 1
cmp eax, 0x100
mov dword [esp + 0x18], edx
ja 0x48be61
mov eax, 1
jmp 0x48be7d
cmp eax, 0x10000
ja 0x48be6f
mov eax, 2
jmp 0x48be7d
mov ecx, 0x1000000
cmp ecx, eax
sbb eax, eax
neg eax
add eax, 3
mov byte [esi], al
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x30], eax
je 0x48c00b
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xc]
test eax, eax
mov dword [esp + 0x28], eax
je 0x48bfe7
fldz
mov eax, dword [esp + 0x28]
fcomp dword [eax + 8]
fnstsw ax
test ah, 0x44
jp 0x48bfd5
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x1c]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x48bfd5
mov edi, edi
mov edx, dword [esp + 0x1c]
movzx eax, byte [edx + 0x38]
cmp eax, dword [esp + 0x2c]
jne 0x48bfc3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
test dword [edx + 0x30], 0x100000
jne 0x48bf04
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
cmp ecx, dword [0x53f830]
je 0x48bfc3
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
test ecx, ecx
mov dword [esp + 0x10], ecx
je 0x48bf63
lea edi, [ecx + 0x10]
mov esi, 3
jmp 0x48bf20
mov eax, dword [edi]
mov eax, dword [eax + 4]
cmp dword [eax + 0x14], ebx
jne 0x48bf50
lea ecx, [esp + 0x44]
lea edx, [eax + 8]
mov eax, dword [ebp + 8]
push ecx
push eax
lea eax, [esp + 0x90]
lea ecx, [esp + 0x78]
call fcn.0048b550
mov ecx, dword [esp + 0x18]
add esp, 8
add ebx, 1
add edi, 4
sub esi, 1
jne 0x48bf20
mov ecx, dword [ecx + 4]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x48bf13
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x24]
test eax, eax
mov dword [esp + 0x10], eax
je 0x48bfc3
mov ecx, eax
lea edi, [ecx + 0x10]
mov esi, 2
lea esp, [esp]
mov edx, dword [edi]
mov eax, dword [edx + 4]
cmp dword [eax + 0x14], ebx
jne 0x48bfb0
lea ecx, [esp + 0x44]
lea edx, [eax + 8]
mov eax, dword [ebp + 8]
push ecx
push eax
lea eax, [esp + 0x90]
lea ecx, [esp + 0x78]
call fcn.0048b550
mov ecx, dword [esp + 0x18]
add esp, 8
add ebx, 1
add edi, 4
sub esi, 1
jne 0x48bf80
mov ecx, dword [ecx + 4]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x48bf74
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x48bed0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x48bea7
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x48be94
mov edx, dword [esp + 0x18]
jmp 0x48c00b
mov eax, dword [esp + 0x20]
mov byte [ecx + eax], 0xff
mov byte [eax], 0
mov eax, dword [esp + 0x2c]
add dword [esp + 0x20], 1
add eax, 1
cmp eax, 8
mov dword [esp + 0x2c], eax
jl 0x48be31
sub ebx, 1
test byte [esp + 0x34], 1
je 0x48c042
mov eax, dword [esp + 0x50]
mov esi, dword [ebp + 8]
call fcn.0048a6b0
test eax, eax
jle 0x48c31d
mov dl, byte [esp + 0x17]
test dl, dl
je 0x48c2e8
xor edi, edi
xor esi, esi
mov eax, 7
mov ecx, dword [esp + eax*4 + 0x50]
cmp ecx, esi
jbe 0x48c061
mov esi, ecx
sub eax, 1
cmp eax, edi
jg 0x48c057
test dl, 1
je 0x48c087
lea edx, [esi*4]
push edx
call fcn.00443680
mov dl, byte [esp + 0x1b]
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x48c08b
mov dword [esp + 0x18], edi
test dl, 2
je 0x48c0a6
lea eax, [esi*8]
push eax
call fcn.00443680
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x48c0aa
mov dword [esp + 0x20], edi
cmp ebx, 0x100
ja 0x48c0b9
mov eax, 1
jmp 0x48c0d6
cmp ebx, 0x10000
ja 0x48c0c8
mov eax, 2
jmp 0x48c0d6
mov ecx, 0x1000000
cmp ecx, ebx
sbb eax, eax
neg eax
add eax, 3
mov edx, dword [ebp + 8]
mov ebx, 1
mov dword [edx + 0x18], eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + ebx*4 + 0x50]
test eax, eax
mov dword [esp + 0x38], eax
je 0x48c2b6
mov edi, eax
mov eax, dword [ebp + 8]
and bl, 0xfb
call fcn.0048b610
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 4]
test eax, eax
mov esi, 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], eax
je 0x48c299
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0xc]
test edx, edx
mov dword [esp + 0x28], edx
je 0x48c286
fldz
fcomp dword [edx + 8]
fnstsw ax
test ah, 0x44
jp 0x48c278
mov ecx, dword [edx + 0x1c]
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x48c278
jmp 0x48c160
movzx eax, byte [ecx + 0x38]
cmp eax, dword [esp + 0x2c]
jne 0x48c26a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
test dword [eax + 0x30], 0x100000
jne 0x48c18c
mov eax, dword [ecx + 8]
cmp eax, dword [0x53f830]
je 0x48c26a
mov eax, dword [ecx + 0x20]
test eax, eax
mov dword [esp + 0x10], eax
je 0x48c1fa
jmp 0x48c1a0
lea ecx, [eax + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 3
nop
mov edx, dword [esp + 0x24]
mov edi, dword [edx]
cmp dword [edi + 0x24], esi
jne 0x48c1db
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [ebp + 8]
push ecx
lea edx, [esp + 0x44]
call fcn.0048b6d0
mov eax, dword [esp + 0x18]
add esp, 8
add esi, 1
add dword [esp + 0x24], 4
sub dword [esp + 0x34], 1
jne 0x48c1b0
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x48c1a0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x24]
test eax, eax
mov dword [esp + 0x10], eax
je 0x48c26a
jmp 0x48c210
lea edx, [eax + 0x10]
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], 2
nop
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
cmp dword [edi + 0x24], esi
jne 0x48c24b
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push edx
push eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x44]
call fcn.0048b6d0
mov eax, dword [esp + 0x18]
add esp, 8
add esi, 1
add dword [esp + 0x24], 4
sub dword [esp + 0x34], 1
jne 0x48c220
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x48c210
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx]
test ecx, ecx
mov dword [esp + 0x1c], ecx
jne 0x48c160
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x28], edx
jne 0x48c137
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x30], eax
jne 0x48c124
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x1c]
push eax
call fcn.0048b670
mov ebx, dword [esp + 0x34]
add esp, 8
add ebx, 1
cmp ebx, 8
mov dword [esp + 0x2c], ebx
jl 0x48c0e5
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48c2d7
push eax
call fcn.00418550
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48c2e8
push eax
call fcn.00418550
add esp, 4
test dword [esp + 0x40], 0x8000
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0
je 0x48c318
mov ecx, dword [eax + 4]
push 0
push ecx
call fcn.004c3660
add esp, 8
neg eax
sbb eax, eax
add eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret