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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push edi
mov edi, dword [ebp + 8]
cmp byte [edi + 2], 1
je 0x10048d8a
mov eax, 0xfffffffc
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
mov eax, ecx
and eax, 0x80000001
jns 0x10048d9b
dec eax
or eax, 0xfffffffe
inc eax
jne 0x10049ab2
mov eax, dword [edi + 0xc]
mov edx, eax
and edx, 0x80000001
jns 0x10048db3
dec edx
or edx, 0xfffffffe
inc edx
jne 0x10049ab2
push esi
xor esi, esi
cmp ecx, esi
jle 0x10049aa9
cmp eax, esi
jle 0x10049aa9
push ebx
push 0x40
push 0x258
call fcn.10055070
mov ebx, eax
add esp, 8
cmp ebx, esi
je 0x10049a9d
push 0x258
push esi
push ebx
call fcn.1000e230
mov eax, dword [edi + 4]
mov dword [ebx + 0x24], eax
mov eax, dword [edi + 0x28]
add esp, 0xc
mov dword [ebx + 0x28], eax
test al, 1
je 0x10048e0b
or eax, 0x20
mov dword [ebx + 0x28], eax
mov ecx, dword [edi + 8]
mov dword [ebx], ecx
mov edx, dword [edi + 0xc]
mov eax, ecx
add eax, 0xf
shr eax, 4
mov ecx, edx
add ecx, 0xf
shr ecx, 4
mov dword [ebx + 0x14], ecx
add ecx, 8
mov dword [ebx + 0x10], eax
add eax, 8
shl ecx, 4
shl eax, 4
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], eax
xor ecx, ecx
mov dword [ebx + 4], edx
mov eax, dword [edi + 0x2c]
cmp eax, esi
setle cl
dec ecx
and eax, ecx
mov dword [ebx + 0x1c], eax
mov ecx, 0x19
cmp dword [edi + 0x2c], esi
jle 0x10048e5b
mov ecx, dword [edi + 0x30]
mov dword [ebx + 0x20], ecx
cmp eax, esi
jle 0x10048e70
lea eax, [ebx + 0x20]
lea edi, [ebx + 0x1c]
call fcn.10048cd0
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x10]
cmp eax, esi
jle 0x10048eb5
mov dword [ebx + 0x88], eax
shl eax, 4
push 0x40
push eax
call fcn.10055070
add esp, 8
mov dword [ebx + 0x8c], eax
cmp eax, esi
je 0x10049a3d
mov edx, dword [ebx + 0x88]
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x14]
shl edx, 4
push edx
push ecx
push eax
call fcn.1000e2b0
add esp, 0xc
jmp 0x10048ec1
mov dword [ebx + 0x88], esi
mov dword [ebx + 0x8c], esi
mov edi, dword [edi + 0x18]
cmp edi, esi
jle 0x10048ef0
lea edx, [edi*8]
push 0x40
push edx
mov dword [ebx + 0x90], edi
call fcn.10055070
add esp, 8
mov dword [ebx + 0x94], eax
cmp eax, esi
je 0x10049a3d
jmp 0x10048efc
mov dword [ebx + 0x90], esi
mov dword [ebx + 0x94], esi
xor edi, edi
cmp dword [ebx + 0x90], esi
jle 0x10048ff1
lea ebx, [ebx]
xor eax, eax
mov dword [ebp - 0x18], eax
push esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x18], 0x10307
mov eax, dword [ecx + edi*8]
push 4
push esi
call eax
add esp, 0x10
test eax, eax
js 0x10048f3f
mov ecx, dword [ebp - 0x14]
or dword [ebx + 0x18], ecx
mov edx, dword [ebx + 0x88]
mov ecx, dword [ebx]
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x8c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov edx, dword [ebx + 0x1c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x40], 0x10307
mov edx, dword [ecx + edi*8 + 4]
mov ecx, dword [ebx + 0x94]
mov dword [ebp - 0x1c], edx
mov dword [ecx + edi*8], esi
mov edx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x94]
lea ecx, [eax + edi*8 + 4]
push ecx
mov ecx, dword [edx + edi*8]
lea eax, [ebp - 0x40]
push eax
push 1
push esi
call ecx
add esp, 0x10
test eax, eax
js 0x10048fe4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
mov ecx, dword [ebx + 0x94]
mov edx, dword [eax + edi*8]
mov dword [ecx + edi*8], edx
inc edi
cmp edi, dword [ebx + 0x90]
jl 0x10048f10
test byte [ebx + 0x28], 4
jne 0x10048ffd
test byte [ebx + 0x18], 2
je 0x10049001
or dword [ebx + 0x18], 1
test byte [ebx + 0x18], 4
je 0x1004902b
mov eax, dword [ebx + 0x14]
imul eax, dword [ebx + 0x10]
add eax, eax
add eax, eax
push 0x40
push eax
call fcn.10055070
add esp, 8
mov dword [ebx + 0x98], eax
cmp eax, esi
je 0x10049a13
test byte [ebx + 0x18], 8
je 0x1004905a
mov eax, dword [ebx + 0x14]
imul eax, dword [ebx + 0x10]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push 0x40
push ecx
call fcn.10055070
add esp, 8
mov dword [ebx + 0x9c], eax
cmp eax, esi
je 0x10049a13
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x24]
xor ecx, ecx
cmp edi, esi
setle cl
dec ecx
and ecx, edi
mov dword [ebx + 0x60], ecx
mov edi, dword [eax + 0x3c]
xor ecx, ecx
cmp edi, esi
setle cl
dec ecx
and ecx, edi
mov dword [ebx + 0x2c], ecx
mov edx, dword [eax + 0x40]
mov dword [ebx + 0x30], edx
mov ecx, dword [eax + 0x44]
cmp ecx, esi
jg 0x1004908f
mov ecx, 2
mov dword [ebx + 0x38], ecx
mov ecx, dword [eax + 0x50]
cmp ecx, esi
jg 0x1004909e
mov ecx, 0x1f
mov dword [ebx + 0x44], ecx
mov ecx, dword [eax + 0x48]
cmp ecx, esi
jg 0x100490ad
mov ecx, 2
mov dword [ebx + 0x3c], ecx
mov ecx, dword [eax + 0x54]
cmp ecx, esi
jg 0x100490bc
mov ecx, 0x1f
mov dword [ebx + 0x48], ecx
mov ecx, dword [eax + 0x4c]
cmp ecx, esi
jg 0x100490cb
mov ecx, 2
mov dword [ebx + 0x40], ecx
mov ecx, dword [eax + 0x58]
cmp ecx, esi
jg 0x100490da
mov ecx, 0x1f
mov dword [ebx + 0x4c], ecx
mov edi, dword [eax + 0x38]
xor ecx, ecx
cmp edi, esi
setle cl
dec ecx
and ecx, edi
mov dword [ebx + 0x34], ecx
mov eax, dword [eax + 0x34]
cmp eax, esi
jg 0x10049100
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
add eax, eax
cdq
idiv dword [ebx + 0x1c]
push 0x40
push 0x150
mov dword [ebx + 0x5c], eax
call fcn.10055070
push 0x40
push 0x150
mov dword [ebx + 0xa0], eax
call fcn.10055070
add esp, 0x10
mov dword [ebx + 0xa4], eax
cmp dword [ebx + 0xa0], esi
je 0x100499f8
cmp eax, esi
je 0x100499f8
mov eax, dword [ebx + 0x14]
imul eax, dword [ebx + 0x10]
imul eax, eax, 0x1e8
push 0x40
push eax
call fcn.10055070
mov ecx, dword [ebx + 0xa0]
mov dword [ecx + 0x44], eax
mov edx, dword [ebx + 0x14]
imul edx, dword [ebx + 0x10]
imul edx, edx, 0x1e8
push 0x40
push edx
call fcn.10055070
mov ecx, dword [ebx + 0xa4]
mov dword [ecx + 0x44], eax
mov edx, dword [ebx + 0xa0]
add esp, 0x10
cmp dword [edx + 0x44], esi
je 0x100499d7
mov eax, dword [ebx + 0xa4]
cmp dword [eax + 0x44], esi
je 0x100499d7
push 0x40
push 0x400
call fcn.10055070
add esp, 8
mov dword [ebx + 0x78], eax
cmp eax, esi
je 0x100499cb
test byte [ebx + 0x18], 1
je 0x100491df
mov dword [ebx + 0xb0], esi
mov dword [ebx + 0xac], esi
mov dword [ebx + 0xa8], esi
mov dword [ebx + 0xbc], esi
mov dword [ebx + 0xb8], esi
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0x130], esi
mov dword [ebx + 0x12c], esi
mov dword [ebx + 0x128], esi
mov dword [ebx + 0x13c], esi
mov dword [ebx + 0x138], esi
mov dword [ebx + 0x134], esi
mov dword [ebx + 0x148], esi
mov dword [ebx + 0x144], esi
mov dword [ebx + 0x140], esi
mov eax, dword [ebx + 0xa0]
mov dword [eax + 0x40], esi
mov dword [eax + 0x3c], esi
mov dword [eax + 0x38], esi
mov eax, dword [ebx + 0xa4]
lea edi, [ebx + 0x128]
mov dword [eax + 0x40], esi
mov dword [eax + 0x3c], esi
mov dword [eax + 0x38], esi
mov dword [ebx + 0xc8], esi
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xc0], esi
mov dword [ebx + 0xd4], esi
mov dword [ebx + 0xd0], esi
mov dword [ebx + 0xcc], esi
mov dword [ebx + 0xec], esi
mov dword [ebx + 0xe8], esi
mov dword [ebx + 0xe4], esi
test byte [ebx + 0x18], 1
je 0x100492b3
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xa8]
push edx
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xb4]
push edx
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
push edi
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, [ebx + 0x134]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [ebx + 0x140]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xa0]
push eax
push ecx
add edx, 0x38
push edx
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xa4]
push eax
push ecx
add edx, 0x38
push edx
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea eax, [ebx + 0xc0]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, [ebx + 0xcc]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [ebx + 0xe4]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea edx, [ebx + 0xfc]
push edx
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x100498da
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x118], esi
mov dword [ebx + 0x11c], esi
mov dword [ebx + 0x120], esi
mov dword [ebx + 0x14c], 0xffffffff
mov dword [ebx + 0x124], esi
cmp eax, esi
jle 0x100494d5
add eax, eax
add eax, eax
push 0x40
push eax
call fcn.10055070
add esp, 8
mov dword [ebx + 0x124], eax
cmp eax, esi
je 0x100498da
xor eax, eax
cmp dword [ebx + 0x60], esi
jle 0x1004942f
jmp 0x10049420
mov ecx, dword [ebx + 0x124]
mov dword [ecx + eax*4], esi
inc eax
cmp eax, dword [ebx + 0x60]
jl 0x10049420
xor edi, edi
cmp dword [ebx + 0x60], esi
jle 0x100494d5
lea ebx, [ebx]
push 0x40
push 0x150
call fcn.10055070
mov edx, dword [ebx + 0x124]
mov dword [edx + edi*4], eax
mov eax, dword [ebx + 0x124]
add esp, 8
cmp dword [eax + edi*4], esi
je 0x10049870
mov ecx, dword [ebx + 0x14]
imul ecx, dword [ebx + 0x10]
imul ecx, ecx, 0x1e8
push 0x40
push ecx
call fcn.10055070
mov edx, dword [ebx + 0x124]
mov ecx, dword [edx + edi*4]
mov dword [ecx + 0x44], eax
mov edx, dword [ebx + 0x124]
mov eax, dword [edx + edi*4]
add esp, 8
cmp dword [eax + 0x44], esi
je 0x10049870
mov dword [eax + 0x40], esi
mov dword [eax + 0x3c], esi
mov dword [eax + 0x38], esi
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x124]
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [edx + edi*4]
push ecx
add eax, 0x38
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x10049870
inc edi
cmp edi, dword [ebx + 0x60]
jl 0x10049440
mov ecx, dword [ebx + 0x60]
inc ecx
imul ecx, ecx, 0xf0
push 0x40
push ecx
mov dword [ebx + 0x108], esi
mov dword [ebx + 0x10c], esi
mov dword [ebx + 0x110], esi
call fcn.10055070
add esp, 8
mov dword [ebx + 0x114], eax
cmp eax, esi
je 0x10049870
mov edx, dword [ebx + 0x60]
inc edx
xor ecx, ecx
test edx, edx
jle 0x10049544
xor edx, edx
jmp 0x10049520
mov eax, dword [ebx + 0x114]
lea eax, [edx + eax + 0xe4]
mov dword [eax + 8], esi
mov dword [eax + 4], esi
mov dword [eax], esi
mov eax, dword [ebx + 0x60]
inc ecx
inc eax
add edx, 0xf0
cmp ecx, eax
jl 0x10049520
mov ecx, dword [ebx + 0x60]
inc ecx
xor edi, edi
test ecx, ecx
jle 0x1004958a
mov dword [ebp - 4], esi
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x114]
push edx
mov edx, dword [ebp - 4]
push eax
lea eax, [edx + ecx + 0xe4]
push eax
call fcn.10046fa0
add esp, 0xc
test eax, eax
js 0x1004981b
mov ecx, dword [ebx + 0x60]
add dword [ebp - 4], 0xf0
inc edi
inc ecx
cmp edi, ecx
jl 0x10049551
mov edx, dword [ebp + 8]
fld dword [0x10075258]
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x74], esi
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x248], eax
mov eax, dword [ebx + 0xa0]
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], esi
mov eax, dword [ebx + 0xa4]
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], esi
fstp dword [ebx + 0x24c]
mov dword [ebx + 0x80], esi
mov eax, dword [edx + 0x64]
mov ecx, 1
cmp eax, 1
jl 0x100495d5
mov ecx, eax
mov edi, dword [ebx + 0x14]
cmp ecx, edi
jge 0x100495ec
cmp eax, 1
jge 0x100495e8
mov ecx, 1
jmp 0x100495ee
mov ecx, eax
jmp 0x100495ee
mov ecx, edi
mov dword [ebx + 0x250], ecx
mov eax, dword [edx + 0x20]
cmp eax, esi
jle 0x100497ca
shr edi, 1
mov edx, eax
cmp eax, edi
jl 0x10049609
mov edx, edi
cmp edx, 1
jge 0x100497b8
mov edi, 1
mov dword [ebp - 0xc], edi
mov eax, edi
cdq
idiv ecx
mov ecx, 1
cmp eax, 1
jl 0x1004962b
mov ecx, eax
mov eax, dword [ebx + 0x14]
lea eax, [eax + ecx - 1]
xor edx, edx
div ecx
push 0x40
mov dword [ebx + 0x240], edi
mov dword [ebp - 8], eax
lea eax, [edi + edi*8]
add eax, eax
add eax, eax
add eax, eax
push eax
mov dword [ebp - 0x14], eax
call fcn.10055070
add esp, 8
mov dword [ebx + 0x244], eax
cmp eax, esi
je 0x100497ca
mov ecx, dword [ebx + 8]
imul ecx, dword [ebx + 0x14]
shl ecx, 4
push 0x40
push ecx
call fcn.10055070
mov edx, dword [ebx + 0x244]
mov dword [edx + 0x38], eax
mov eax, dword [ebx + 0x244]
add esp, 8
cmp dword [eax + 0x38], esi
je 0x100497ca
mov dword [ebp - 4], esi
cmp edi, esi
jle 0x100497a3
mov ecx, dword [ebp - 8]
lea edx, [ecx*4]
mov dword [ebp - 0x10], edx
xor edi, edi
jmp 0x100496b0
mov ecx, dword [ebx + 0x240]
mov eax, dword [ebx + 0x250]
mov dword [ebp - 8], ecx
cmp ecx, eax
jl 0x100496c6
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
push 0x40
push eax
call fcn.10055070
mov ecx, dword [ebx + 0x244]
mov dword [ecx + edi + 0x1c], eax
mov edx, dword [ebx + 0x244]
add esp, 8
cmp dword [edx + edi + 0x1c], esi
je 0x100497ca
mov ecx, dword [ebp - 4]
cmp ecx, esi
jle 0x10049783
cmp ecx, dword [ebp - 8]
jge 0x10049781
push 0x40
push 0x20
call fcn.10055070
mov ecx, dword [ebx + 0x244]
mov dword [ecx + edi + 0x3c], eax
mov edx, dword [ebx + 0x244]
add esp, 8
cmp dword [edx + edi + 0x3c], esi
je 0x100497ca
push 0x40
push 0x20
call fcn.10055070
mov ecx, dword [ebx + 0x244]
mov dword [ecx + edi + 0x40], eax
mov ecx, dword [ebx + 0x244]
add esp, 8
cmp dword [ecx + edi + 0x40], esi
je 0x100497ca
mov eax, dword [ebp - 4]
dec eax
imul eax, dword [ebx + 8]
imul eax, dword [ebx + 0x14]
xor edx, edx
div dword [ebp - 8]
xor esi, esi
shl eax, 4
add eax, dword [ecx + 0x38]
mov dword [ecx + edi + 0x38], eax
mov ecx, dword [ebx + 0x244]
mov eax, dword [ecx + edi + 0x38]
mov edx, dword [ecx + edi + 0x3c]
call fcn.10048b20
mov ecx, dword [ebp - 4]
cmp ecx, esi
je 0x10049793
mov eax, dword [ebx + 0x244]
mov edx, dword [eax + edi - 0x2c]
mov dword [eax + edi + 0x20], edx
inc ecx
add edi, 0x48
mov dword [ebp - 4], ecx
cmp ecx, dword [ebp - 0xc]
jl 0x100496b0
mov eax, dword [ebx + 0x244]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx - 0x2c]
sub edx, 4
mov dword [eax + 0x20], edx
jmp 0x100497ea
cmp eax, edi
jge 0x10049617
mov edi, eax
mov dword [ebp - 0xc], eax
jmp 0x1004961a
mov eax, dword [ebx + 0x244]
cmp eax, esi
je 0x10049805
mov eax, dword [eax + 0x38]
cmp eax, esi
je 0x100497e4
push eax
call fcn.100550d0
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], esi
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], ebx
mov eax, dword [ebx + 0x78]
push eax
call fcn.10055040
add esp, 4
pop ebx
pop esi
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
push 0x40
push 0x48
call fcn.10055070
add esp, 8
mov dword [ebx + 0x244], eax
cmp eax, esi
jne 0x100497e4
mov eax, dword [ebx + 0x60]
inc eax
xor edi, edi
test eax, eax
jle 0x10049861
mov dword [ebp - 0xc], esi
jmp 0x10049830
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 0x114]
push ecx
mov ecx, dword [ebp - 0xc]
push edx
lea edx, [ecx + eax + 0xe4]
push edx
call fcn.10047080
mov eax, dword [ebx + 0x60]
add dword [ebp - 0xc], 0xf0
inc edi
inc eax
add esp, 0xc
cmp edi, eax
jl 0x10049830
mov ecx, dword [ebx + 0x114]
push ecx
call fcn.100550d0
add esp, 4
mov eax, dword [ebx + 0x60]
cmp eax, esi
jle 0x100498da
xor edi, edi
cmp eax, esi
jle 0x100498cb
lea ecx, [ecx]
mov edx, dword [ebx + 0x124]
cmp dword [edx + edi*4], esi
lea eax, [edx + edi*4]
je 0x100498c5
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [eax]
push ecx
push edx
add eax, 0x38
push eax
call fcn.10047080
mov ecx, dword [ebx + 0x124]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx + 0x44]
push eax
call fcn.100550d0
mov ecx, dword [ebx + 0x124]
mov edx, dword [ecx + edi*4]
push edx
call fcn.100550d0
add esp, 0x14
inc edi
cmp edi, dword [ebx + 0x60]
jl 0x10049880
mov eax, dword [ebx + 0x124]
push eax
call fcn.100550d0
add esp, 4
test byte [ebx + 0x18], 1
je 0x1004990b
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xa8]
push edx
push eax
call fcn.10047080
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xb4]
push edx
push eax
call fcn.10047080
add esp, 0x18
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea eax, [ebx + 0x128]
push eax
call fcn.10047080
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, [ebx + 0x134]
push eax
call fcn.10047080
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [ebx + 0x140]
push eax
call fcn.10047080
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xa0]
push eax
push ecx
add edx, 0x38
push edx
call fcn.10047080
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xa4]
push eax
push ecx
add edx, 0x38
push edx
call fcn.10047080
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea eax, [ebx + 0xc0]
push eax
call fcn.10047080
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add esp, 0x48
push edx
push eax
lea eax, [ebx + 0xcc]
push eax
call fcn.10047080
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [ebx + 0xe4]
push eax
call fcn.10047080
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
push ecx
lea edx, [ebx + 0xfc]
push edx
call fcn.10047080
add esp, 0x24
mov eax, dword [ebx + 0x78]
push eax
call fcn.100550d0
add esp, 4
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ecx + 0x44]
push edx
call fcn.100550d0
mov eax, dword [ebx + 0xa4]
mov ecx, dword [eax + 0x44]
push ecx
call fcn.100550d0
add esp, 8
mov edx, dword [ebx + 0xa0]
push edx
call fcn.100550d0
mov eax, dword [ebx + 0xa4]
push eax
call fcn.100550d0
add esp, 8
test byte [ebx + 0x18], 4
je 0x10049a28
mov ecx, dword [ebx + 0x98]
push ecx
call fcn.100550d0
add esp, 4
test byte [ebx + 0x18], 8
je 0x10049a3d
mov edx, dword [ebx + 0x9c]
push edx
call fcn.100550d0
add esp, 4
xor edi, edi
cmp dword [ebx + 0x90], esi
jle 0x10049a76
jmp 0x10049a50
mov eax, dword [ebx + 0x94]
mov ecx, dword [eax + edi*8]
lea eax, [eax + edi*8]
cmp ecx, esi
je 0x10049a6d
mov edx, dword [eax + 4]
push esi
push esi
push 2
push edx
call ecx
add esp, 0x10
inc edi
cmp edi, dword [ebx + 0x90]
jl 0x10049a50
mov eax, dword [ebx + 0x94]
push eax
call fcn.100550d0
mov ecx, dword [ebx + 0x8c]
push ecx
call fcn.100550d0
push ebx
call fcn.100550d0
mov edx, dword [ebp + 8]
add esp, 0xc
mov dword [edx + 0x5c], esi
pop ebx
pop esi
mov eax, 0xfffffffe
pop edi
mov esp, ebp
pop ebp
ret
pop esi
or eax, 0xffffffff
pop edi
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
pop edi
mov esp, ebp
pop ebp
ret