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

Disassembly:
sub esp, 0x60
mov edx, dword [esp + 0x6c]
push ebx
push ebp
push esi
mov ecx, dword [edx]
mov eax, dword [edx + 4]
test ecx, ecx
push edi
mov dword [esp + 0x28], eax
jne 0x110156cc
test eax, eax
jne 0x110156cc
mov eax, dword [edx + 0x14]
lea eax, [eax + eax*8]
shl eax, 7
add eax, 0x110240e4
jmp 0x110156df
mov edi, dword [edx + 0x14]
lea eax, [eax + eax*2]
add eax, edi
lea eax, [eax + eax*8]
shl eax, 7
add eax, 0x110225e4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
lea ecx, [edx + eax*8]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x11016ade
mov eax, dword [ecx + 0xac]
mov esi, 2
cmp eax, esi
jne 0x11016ade
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x11016286
xor eax, eax
mov edi, dword [0x110492f8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov eax, 0x20
or ebp, 0xffffffff
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
mov eax, dword [edx + 0x24]
mov ebx, ebp
cmp eax, 1
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
je 0x1101582d
cmp eax, 3
je 0x1101582d
mov edx, dword [0x11047344]
mov esi, dword [0x11047340]
mov ebp, ecx
mov dword [esp + 0x2c], 1
mov ecx, dword [ebp + 0x9c]
test ecx, ecx
je 0x11015792
cmp dword [ebp + 0xac], 2
jne 0x11015792
mov eax, 0x240
jmp 0x1101579a
cmp esi, edx
mov eax, esi
jg 0x1101579a
mov eax, edx
test ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
je 0x11015806
cmp dword [ebp + 0xac], 2
jne 0x11015806
cmp esi, edx
mov ecx, esi
jg 0x110157bb
mov ecx, edx
mov eax, 0x55555556
imul ecx
mov ecx, edx
xor eax, eax
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [edi]
cmp ecx, edx
jge 0x110157e3
mov ecx, edi
cmp eax, 0xc
jge 0x110157e3
mov esi, dword [ecx + 4]
add ecx, 4
inc eax
cmp esi, edx
jl 0x110157d3
mov ecx, dword [edi + eax*4]
mov eax, 0x2aaaaaab
dec ecx
imul ecx
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax + 1]
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
jmp 0x11015abf
lea ecx, [eax - 1]
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 1]
mov dword [0x11038fa4], edx
mov dword [0x11038fa0], edx
jmp 0x11015abf
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x11015a34
cmp dword [ecx + 0xac], esi
jne 0x11015a34
mov eax, dword [edi]
mov esi, dword [0x11047344]
xor edx, edx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jge 0x110158b8
mov ecx, edi
cmp edx, 0xc
jge 0x1101586f
mov eax, dword [ecx + 4]
add ecx, 4
inc edx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jl 0x1101585b
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x11015886
cmp edx, 3
jl 0x11015927
test edx, edx
je 0x11015927
mov esi, 1
lea ebp, [esp + 0x64]
test edx, edx
je 0x110158ca
mov ecx, dword [edi + edx*4 - 4]
mov eax, dword [edi + edx*4]
sub eax, ecx
mov edi, esi
imul edi, eax
lea ecx, [ecx + ecx*2]
lea ecx, [edi + ecx + 2]
mov edi, dword [0x110492f8]
jmp 0x110158d3
mov eax, dword [esp + 0x64]
test eax, eax
jl 0x11015873
test ebp, ebp
jl 0x11015873
test ebx, ebx
jge 0x11015927
jmp 0x11015873
mov eax, dword [edi]
mov ecx, esi
inc eax
imul ecx, eax
dec ecx
cmp dword [ebp], 0
jge 0x1101590c
xor edi, edi
test eax, eax
jle 0x11015906
lea ecx, [ecx*4 + 0x11049c28]
mov ebx, dword [ecx]
sub ecx, 4
test ebx, ebx
jne 0x110158f6
inc edi
cmp edi, eax
jl 0x110158e6
jmp 0x11015902
mov eax, dword [0x110492f8]
mov ecx, dword [eax + edx*4]
inc ecx
mov dword [ebp], ecx
mov ebx, dword [esp + 0x6c]
mov edi, dword [0x110492f8]
dec edx
inc esi
add ebp, 4
lea eax, [esi - 1]
cmp eax, 3
jl 0x11015897
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x68]
jmp 0x110158b8
cmp edx, 2
jne 0x11015aaa
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x11015aaa
mov eax, dword [esp + 0x64]
test eax, eax
jge 0x110159a2
test ebp, ebp
jge 0x110159a2
test ebx, ebx
jge 0x110159a2
mov eax, dword [0x11049cb4]
mov ecx, 0x23
test eax, eax
jne 0x11015970
mov eax, 0x11049cb4
mov edx, dword [eax - 4]
sub eax, 4
dec ecx
test edx, edx
je 0x11015965
mov esi, dword [0x110492f4]
xor eax, eax
cmp dword [esi], ecx
jge 0x1101598e
mov edx, esi
cmp eax, 0x15
jge 0x1101598e
mov ebx, dword [edx + 4]
add edx, 4
inc eax
cmp ebx, ecx
jl 0x1101597e
mov ebx, dword [esi + eax*4]
inc ebx
mov ebp, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
jmp 0x110159c4
lea eax, [esp + 0x64]
mov ecx, 3
cmp dword [eax], 0
jge 0x110159be
mov dword [eax], 0x24
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
add eax, 4
dec ecx
jne 0x110159ab
mov edx, dword [esp + 0x7c]
cmp dword [edx + 4], 1
jne 0x110159f6
cmp ebp, ebx
mov eax, ebp
jg 0x110159d6
mov eax, ebx
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jle 0x110159e2
mov eax, ecx
jmp 0x110159ea
cmp ebp, ebx
mov eax, ebp
jg 0x110159ea
mov eax, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov eax, dword [edi]
mov esi, dword [0x11047340]
xor ecx, ecx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jge 0x11015a1e
mov edx, edi
cmp ecx, 0xc
jge 0x11015a1e
mov eax, dword [edx + 4]
add edx, 4
inc ecx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jl 0x11015a0a
mov ecx, dword [edi + ecx*4]
mov eax, 0x2aaaaaab
dec ecx
imul ecx
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + ecx + 1]
jmp 0x11015aa0
mov eax, dword [0x11047344]
mov edx, dword [eax*4 + 0x11049c28]
lea ecx, [eax*4 + 0x11049c28]
test edx, edx
jne 0x11015a56
mov edx, dword [ecx - 4]
sub ecx, 4
dec eax
test edx, edx
je 0x11015a4b
mov esi, dword [0x110492f4]
xor ecx, ecx
cmp dword [esi], eax
jge 0x11015a74
mov edx, esi
cmp ecx, 0x15
jge 0x11015a74
mov edi, dword [edx + 4]
add edx, 4
inc ecx
cmp edi, eax
jl 0x11015a64
mov eax, dword [esi + ecx*4]
mov edx, dword [0x11047340]
inc eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
lea ecx, [edx - 1]
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax + 1]
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x14]
xor ecx, ecx
cmp dword [edx + 0x24], 1
setne cl
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x78]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x10], edx
lea eax, [esi + esi*4]
lea esi, [esi + eax*2]
shl esi, 4
add esi, 0x1103fde0
mov eax, dword [esp + edx + 0x50]
mov ecx, dword [esi]
mov dword [esp + edx + 0x48], ecx
lea edi, [eax + eax*4]
lea eax, [eax + edi*2]
movsx edi, byte [eax*2 + 0x1102249c]
add edi, ecx
mov ecx, dword [edx + ebp + 0x15c]
mov eax, dword [edx + ebp + 0x7c]
inc ecx
shl edi, cl
sub eax, edi
sub eax, 0xd2
js 0x11015b2b
mov ecx, eax
mov edi, 1
sar ecx, 2
shl edi, cl
and eax, 3
mov dword [esp + 0x58], edi
fild dword [esp + 0x58]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11015b50
cmp eax, 0xffffff81
jl 0x11015b4a
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11015b50
fld dword [0x11020210]
fstp dword [esp + edx + 0x5c]
add edx, 4
add esi, 0x58
cmp edx, 8
jl 0x11015ada
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x10]
mov edx, 0x11049320
mov edi, 0x11049c28
sub edx, esi
sub edi, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], edi
cmp ebp, dword [esp + 0x64]
jl 0x11015ba3
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
test ecx, ecx
je 0x11015b9a
cmp eax, 7
jne 0x11015ba8
jmp 0x11015ba3
cmp eax, dword [ebx*4 + 0x11047360]
jne 0x11015ba8
mov eax, 0xfeed
cmp ebp, 0x240
jge 0x11015cff
cmp eax, 0xfeed
je 0x11015c4a
mov ecx, dword [edx + esi]
test ecx, ecx
jl 0x11015bcf
fld dword [ecx*4 + 0x1102ff38]
jmp 0x11015be2
shl ecx, 2
mov ebp, 0x1102ff38
sub ebp, ecx
fld dword [ebp]
mov ebp, dword [esp + 0x10]
fchs
mov ecx, dword [esp + 0x7c]
fmul dword [esp + 0x5c]
cmp dword [ecx + 4], 0
je 0x11015c0d
fld dword [0x110201d8]
fsub dword [eax*4 + 0x110224c8]
fmul st(1)
fstp dword [esi]
fmul dword [eax*4 + 0x110224c8]
jmp 0x11015cf9
test al, 1
je 0x11015c2f
mov ecx, dword [0x11047348]
inc eax
sar eax, 1
shl ecx, 5
add eax, ecx
fld st(0)
fmul dword [eax*4 + 0x110224e4]
fstp dword [esi]
jmp 0x11015cf9
fst dword [esi]
mov ecx, dword [0x11047348]
shl ecx, 5
sar eax, 1
add ecx, eax
fmul dword [ecx*4 + 0x110224e4]
jmp 0x11015cf9
mov eax, dword [esp + 0x2c]
test eax, eax
mov eax, dword [edx + esi]
je 0x11015cb6
test eax, eax
jl 0x11015c62
fld dword [eax*4 + 0x1102ff38]
jmp 0x11015c70
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
mov eax, dword [edi + esi]
fmul dword [esp + 0x5c]
test eax, eax
jl 0x11015c84
fld dword [eax*4 + 0x1102ff38]
jmp 0x11015c92
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
fmul dword [esp + 0x60]
fld st(0)
fadd st(2)
fmul qword [0x11024e78]
fstp dword [esi]
fxch st(1)
fsub st(1)
fmul qword [0x11024e78]
fstp dword [esi + 0x900]
fstp st(0)
jmp 0x11015cff
test eax, eax
jl 0x11015cc3
fld dword [eax*4 + 0x1102ff38]
jmp 0x11015cd1
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
fmul dword [esp + 0x5c]
fstp dword [esi]
mov eax, dword [edi + esi]
test eax, eax
jl 0x11015ce7
fld dword [eax*4 + 0x1102ff38]
jmp 0x11015cf5
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
fmul dword [esp + 0x60]
fstp dword [esi + 0x900]
mov eax, dword [0x110492f4]
cmp ebp, dword [eax + ebx*4]
jne 0x11015dcb
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x14]
inc ebx
lea ecx, [eax + eax*4]
mov dword [esp + 0x34], ebx
lea edx, [eax + ecx*2]
lea eax, [ebx + edx*4]
xor edx, edx
lea edi, [eax*4 + 0x1103fde0]
mov eax, dword [esp + edx + 0x50]
mov ecx, dword [edi]
mov dword [esp + edx + 0x48], ecx
lea ebx, [eax + eax*4]
lea eax, [eax + ebx*2]
mov ebx, dword [esp + 0x34]
movsx eax, byte [ebx + eax*2 + 0x1102249c]
add eax, ecx
mov ecx, dword [edx + ebp + 0x15c]
inc ecx
shl eax, cl
mov ecx, eax
mov eax, dword [edx + ebp + 0x7c]
sub eax, ecx
sub eax, 0xd2
js 0x11015d87
mov ecx, eax
mov ebx, 1
sar ecx, 2
shl ebx, cl
and eax, 3
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x34]
fild dword [esp + 0x58]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11015dac
cmp eax, 0xffffff81
jl 0x11015da6
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11015dac
fld dword [0x11020210]
fstp dword [esp + edx + 0x5c]
add edx, 4
add edi, 0x58
cmp edx, 8
jl 0x11015d2c
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x10]
inc ebp
add esi, 4
cmp ebp, 0x24
mov dword [esp + 0x10], ebp
jl 0x11015b81
mov ecx, dword [0x110492f8]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
mov ecx, dword [0x11047340]
sub eax, esi
mov dword [esp + 0x50], eax
mov eax, dword [0x11047344]
cmp ecx, eax
jle 0x11015dff
mov eax, ecx
cmp ebp, eax
mov dword [esp + 0x58], eax
jge 0x1101624b
mov eax, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x78]
lea edx, [eax + eax*4]
shl edx, 3
sub edx, eax
lea eax, [edx*8 + 0x11040000]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
lea edx, [ecx + ebp*2]
lea ecx, [ebp*4 + 0x11049320]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x64]
lea eax, [eax + eax*2 + 0x21]
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], 3
lea edx, [ecx + eax*8]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [0x110492f8]
mov edi, dword [eax - 0xc]
mov ebp, dword [eax]
mov eax, dword [esp + 0x24]
mov edx, dword [eax - 0x9c]
mov esi, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x34]
cmp eax, dword [ecx]
jge 0x11015f8e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0xfeed
mov ecx, dword [eax + 0x15c]
mov eax, dword [eax + 0x7c]
inc ecx
shl edx, cl
sub eax, edx
lea edx, [edi*8]
sub eax, edx
sub eax, 0xd2
js 0x11015ee4
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11015f09
cmp eax, 0xffffff81
jl 0x11015f03
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11015f09
fld dword [0x11020210]
mov eax, dword [esp + 0x14]
lea edx, [ebp*8]
fstp dword [esp + 0x5c]
mov ecx, dword [eax + 0x160]
mov eax, dword [eax + 0x80]
inc ecx
shl esi, cl
sub eax, esi
sub eax, edx
sub eax, 0xd2
js 0x11015f59
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
fstp dword [esp + 0x60]
jmp 0x11016025
cmp eax, 0xffffff81
jl 0x11015f7f
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
fstp dword [esp + 0x60]
jmp 0x11016025
fld dword [0x11020210]
fstp dword [esp + 0x60]
jmp 0x11016025
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], esi
cmp eax, 1
jne 0x11015fa2
cmp esi, 7
jne 0x11015fba
jmp 0x11015fb2
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
cmp esi, dword [eax + 0x11047378]
jne 0x11015fba
mov dword [esp + 0x18], 0xfeed
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x15c]
mov eax, dword [eax + 0x7c]
inc ecx
shl edx, cl
sub eax, edx
lea edx, [edi*8]
sub eax, edx
sub eax, 0xd2
js 0x11015ffc
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016021
cmp eax, 0xffffff81
jl 0x1101601b
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016021
fld dword [0x11020210]
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x110161e3
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
add edi, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], eax
lea edi, [eax*4]
mov edx, ecx
add eax, eax
mov ebp, esi
add ecx, edi
add esi, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
movsx eax, word [ebp]
cmp edx, 0x11049c20
jge 0x110161ce
cmp dword [esp + 0x18], 0xfeed
je 0x11016110
mov ecx, dword [edx]
test ecx, ecx
jl 0x1101608d
fld dword [ecx*4 + 0x1102ff38]
jmp 0x1101609b
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
mov ecx, dword [esp + 0x7c]
fmul dword [esp + 0x5c]
mov esi, dword [ecx + 4]
test esi, esi
je 0x110160cc
mov ecx, dword [esp + 0x18]
fld dword [0x110201d8]
fsub dword [ecx*4 + 0x110224c8]
fmul st(1)
fstp dword [ebx + eax*4]
fmul dword [ecx*4 + 0x110224c8]
jmp 0x110161c7
mov ecx, dword [esp + 0x18]
test cl, 1
je 0x110160f4
mov esi, dword [0x11047348]
inc ecx
sar ecx, 1
shl esi, 5
add ecx, esi
fld st(0)
fmul dword [ecx*4 + 0x110224e4]
fstp dword [ebx + eax*4]
jmp 0x110161c7
fst dword [ebx + eax*4]
mov esi, dword [0x11047348]
shl esi, 5
sar ecx, 1
add esi, ecx
fmul dword [esi*4 + 0x110224e4]
jmp 0x110161c7
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov ecx, dword [edx]
je 0x11016180
test ecx, ecx
jl 0x11016127
fld dword [ecx*4 + 0x1102ff38]
jmp 0x11016135
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
mov ecx, dword [edx + 0x908]
fmul dword [esp + 0x5c]
test ecx, ecx
jl 0x1101614c
fld dword [ecx*4 + 0x1102ff38]
jmp 0x1101615a
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x60]
fld st(0)
fadd st(2)
fmul qword [0x11024e78]
fstp dword [ebx + eax*4]
fxch st(1)
fsub st(1)
fmul qword [0x11024e78]
fstp dword [ebx + eax*4 + 0x900]
fstp st(0)
jmp 0x110161ce
test ecx, ecx
jl 0x1101618d
fld dword [ecx*4 + 0x1102ff38]
jmp 0x1101619b
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x5c]
fstp dword [ebx + eax*4]
mov ecx, dword [edx + 0x908]
test ecx, ecx
jl 0x110161b5
fld dword [ecx*4 + 0x1102ff38]
jmp 0x110161c3
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x60]
fstp dword [ebx + eax*4 + 0x900]
mov eax, dword [esp + 0x44]
add ebp, 2
add edx, 4
dec eax
mov dword [esp + 0x44], eax
jne 0x11016060
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov eax, 4
add esi, eax
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x48]
dec eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], eax
jne 0x11015e6c
mov ecx, dword [esp + 0x38]
mov esi, dword [0x110492f8]
add ecx, 4
mov eax, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx + esi]
mov edi, dword [ecx + esi - 4]
mov ecx, dword [esp + 0x10]
sub edx, edi
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
cmp ecx, edx
mov ebp, ecx
jl 0x11015e2b
mov esi, dword [esp + 0x74]
cmp ebp, 0x240
jge 0x1101702b
mov eax, dword [esp + 0x20]
mov edx, 0x240
sub edx, ebp
xor edi, edi
lea ecx, [eax + ebp*2]
movsx eax, word [ecx]
add ecx, 2
dec edx
mov dword [esi + eax*4 + 0x900], edi
mov dword [esi + eax*4], edi
jne 0x1101626b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov edi, dword [0x110492f8]
mov eax, 0x20
or ebp, 0xffffffff
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
mov eax, dword [edx + 0x24]
mov ebx, ebp
cmp eax, 1
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
je 0x1101638e
cmp eax, 3
je 0x1101638e
mov edx, dword [esp + 0x14]
mov esi, dword [0x11047344]
mov ebp, dword [0x11047340]
mov dword [esp + 0x48], 1
mov ecx, dword [edx + 0x9c]
test ecx, ecx
je 0x110162f3
cmp dword [edx + 0xac], 2
jne 0x110162f3
mov eax, 0x240
jmp 0x110162fb
cmp ebp, esi
mov eax, ebp
jg 0x110162fb
mov eax, esi
test ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
je 0x11016367
cmp dword [edx + 0xac], 2
jne 0x11016367
cmp ebp, esi
mov ecx, ebp
jg 0x1101631c
mov ecx, esi
mov eax, 0x55555556
imul ecx
mov ecx, edx
xor eax, eax
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [edi]
cmp ecx, edx
jge 0x11016344
mov ecx, edi
cmp eax, 0xc
jge 0x11016344
mov ebx, dword [ecx + 4]
add ecx, 4
inc eax
cmp ebx, edx
jl 0x11016334
mov ecx, dword [edi + eax*4]
mov eax, 0x2aaaaaab
dec ecx
imul ecx
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax + 1]
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
jmp 0x11016633
lea ecx, [eax - 1]
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
lea edx, [edx + ecx + 1]
mov dword [0x11038fa4], edx
mov dword [0x11038fa0], edx
jmp 0x11016633
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x110165a0
cmp dword [ecx + 0xac], esi
jne 0x110165a0
mov eax, dword [edi]
mov ecx, dword [0x11047344]
xor edx, edx
lea eax, [eax + eax*2 + 2]
cmp eax, ecx
jge 0x110163d8
mov ecx, edi
cmp edx, 0xc
jge 0x110163ec
mov eax, dword [ecx + 4]
mov esi, dword [0x11047344]
add ecx, 4
inc edx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jl 0x110163bc
jmp 0x110163ec
mov eax, dword [esp + 0x64]
test eax, eax
jl 0x110163ec
test ebp, ebp
jl 0x110163ec
test ebx, ebx
jge 0x1101648d
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x11016403
cmp edx, 3
jl 0x1101648d
test edx, edx
je 0x1101648d
mov esi, 1
lea ebp, [esp + 0x64]
test edx, edx
je 0x11016435
mov ecx, dword [edi + edx*4 - 4]
mov eax, dword [edi + edx*4]
sub eax, ecx
mov edi, esi
imul edi, eax
lea ecx, [ecx + ecx*2]
lea ecx, [edi + ecx + 2]
mov edi, dword [0x110492f8]
jmp 0x1101643e
mov eax, dword [edi]
mov ecx, esi
inc eax
imul ecx, eax
dec ecx
cmp dword [ebp], 0
jge 0x11016477
xor edi, edi
test eax, eax
jle 0x11016471
lea ecx, [ecx*4 + 0x11049c28]
mov ebx, dword [ecx]
sub ecx, 4
test ebx, ebx
jne 0x11016461
inc edi
cmp edi, eax
jl 0x11016451
jmp 0x1101646d
mov eax, dword [0x110492f8]
mov ecx, dword [eax + edx*4]
inc ecx
mov dword [ebp], ecx
mov ebx, dword [esp + 0x6c]
mov edi, dword [0x110492f8]
dec edx
inc esi
add ebp, 4
lea eax, [esi - 1]
cmp eax, 3
jl 0x11016414
mov ebp, dword [esp + 0x68]
jmp 0x110163d8
cmp edx, 2
jne 0x11016616
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x11016616
mov eax, dword [esp + 0x64]
test eax, eax
jge 0x11016508
test ebp, ebp
jge 0x11016508
test ebx, ebx
jge 0x11016508
mov eax, dword [0x11049cb4]
mov ecx, 0x23
test eax, eax
jne 0x110164d6
mov eax, 0x11049cb4
mov edx, dword [eax - 4]
sub eax, 4
dec ecx
test edx, edx
je 0x110164cb
mov esi, dword [0x110492f4]
xor eax, eax
cmp dword [esi], ecx
jge 0x110164f4
mov edx, esi
cmp eax, 0x15
jge 0x110164f4
mov ebx, dword [edx + 4]
add edx, 4
inc eax
cmp ebx, ecx
jl 0x110164e4
mov ebx, dword [esi + eax*4]
inc ebx
mov ebp, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
jmp 0x1101652a
lea eax, [esp + 0x64]
mov ecx, 3
cmp dword [eax], 0
jge 0x11016524
mov dword [eax], 0x24
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
add eax, 4
dec ecx
jne 0x11016511
mov edx, dword [esp + 0x7c]
cmp dword [edx + 4], 1
jne 0x1101655c
cmp ebp, ebx
mov eax, ebp
jg 0x1101653c
mov eax, ebx
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jle 0x11016548
mov eax, ecx
jmp 0x11016550
cmp ebp, ebx
mov eax, ebp
jg 0x11016550
mov eax, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov eax, dword [edi]
mov edx, dword [0x11047340]
xor ecx, ecx
lea eax, [eax + eax*2 + 2]
cmp eax, edx
jge 0x1101658a
mov esi, dword [0x11047340]
mov edx, edi
cmp ecx, 0xc
jge 0x1101658a
mov eax, dword [edx + 4]
add edx, 4
inc ecx
lea eax, [eax + eax*2 + 2]
cmp eax, esi
jl 0x11016576
mov ecx, dword [edi + ecx*4]
mov eax, 0x2aaaaaab
dec ecx
imul ecx
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + ecx + 1]
jmp 0x1101660c
mov eax, dword [0x11047344]
mov edx, dword [eax*4 + 0x11049c28]
lea ecx, [eax*4 + 0x11049c28]
test edx, edx
jne 0x110165c2
mov edx, dword [ecx - 4]
sub ecx, 4
dec eax
test edx, edx
je 0x110165b7
mov esi, dword [0x110492f4]
xor ecx, ecx
cmp dword [esi], eax
jge 0x110165e0
mov edx, esi
cmp ecx, 0x15
jge 0x110165e0
mov ebx, dword [edx + 4]
add edx, 4
inc ecx
cmp ebx, eax
jl 0x110165d0
mov eax, dword [esi + ecx*4]
mov edx, dword [0x11047340]
inc eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
lea ecx, [edx - 1]
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax + 1]
mov dword [0x11038fa4], eax
mov dword [0x11038fa0], eax
mov edx, dword [esp + 0x7c]
mov esi, dword [0x11047344]
mov ebp, dword [0x11047340]
xor ecx, ecx
cmp dword [edx + 0x24], 1
setne cl
mov dword [esp + 0x48], ecx
mov edi, dword [edi]
mov dword [esp + 0x10], 0
inc edi
cmp ebp, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], ebp
jg 0x1101664e
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
test eax, eax
jle 0x11016aaf
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
lea ecx, [eax + eax*4]
shl ecx, 3
sub ecx, eax
lea eax, [ecx*8 + 0x1103ffdc]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x78]
lea edx, [edx + ecx*2]
lea ecx, [ecx*4 + 0x11049320]
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x64]
lea eax, [eax + eax*2 + 0x21]
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], 3
lea edx, [ecx + eax*8]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [0x110492f8]
mov edi, dword [eax - 0xc]
mov ebp, dword [eax]
mov eax, dword [esp + 0x74]
mov edx, dword [eax - 0x9c]
mov esi, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x34]
cmp eax, dword [ecx]
jge 0x110167de
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0xfeed
mov ecx, dword [eax + 0x15c]
mov eax, dword [eax + 0x7c]
inc ecx
shl edx, cl
sub eax, edx
lea edx, [edi*8]
sub eax, edx
sub eax, 0xd2
js 0x11016734
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016759
cmp eax, 0xffffff81
jl 0x11016753
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016759
fld dword [0x11020210]
mov eax, dword [esp + 0x14]
lea edx, [ebp*8]
fstp dword [esp + 0x5c]
mov ecx, dword [eax + 0x160]
mov eax, dword [eax + 0x80]
inc ecx
shl esi, cl
sub eax, esi
sub eax, edx
sub eax, 0xd2
js 0x110167a9
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
fstp dword [esp + 0x60]
jmp 0x11016875
cmp eax, 0xffffff81
jl 0x110167cf
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
fstp dword [esp + 0x60]
jmp 0x11016875
fld dword [0x11020210]
fstp dword [esp + 0x60]
jmp 0x11016875
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], esi
cmp eax, 1
jne 0x110167f2
cmp esi, 7
jne 0x1101680a
jmp 0x11016802
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
cmp esi, dword [eax + 0x11047378]
jne 0x1101680a
mov dword [esp + 0x18], 0xfeed
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x15c]
mov eax, dword [eax + 0x7c]
inc ecx
shl edx, cl
sub eax, edx
lea edx, [edi*8]
sub eax, edx
sub eax, 0xd2
js 0x1101684c
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016871
cmp eax, 0xffffff81
jl 0x1101686b
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016871
fld dword [0x11020210]
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x11016a33
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
add edi, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x44], eax
lea edi, [eax*4]
mov edx, ecx
add eax, eax
mov ebp, esi
add ecx, edi
add esi, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x50], esi
movsx eax, word [ebp]
cmp edx, 0x11049c20
jge 0x11016a1e
cmp dword [esp + 0x18], 0xfeed
je 0x11016960
mov ecx, dword [edx]
test ecx, ecx
jl 0x110168dd
fld dword [ecx*4 + 0x1102ff38]
jmp 0x110168eb
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
mov ecx, dword [esp + 0x7c]
fmul dword [esp + 0x5c]
mov esi, dword [ecx + 4]
test esi, esi
je 0x1101691c
mov ecx, dword [esp + 0x18]
fld dword [0x110201d8]
fsub dword [ecx*4 + 0x110224c8]
fmul st(1)
fstp dword [ebx + eax*4]
fmul dword [ecx*4 + 0x110224c8]
jmp 0x11016a17
mov ecx, dword [esp + 0x18]
test cl, 1
je 0x11016944
mov esi, dword [0x11047348]
inc ecx
sar ecx, 1
shl esi, 5
add ecx, esi
fld st(0)
fmul dword [ecx*4 + 0x110224e4]
fstp dword [ebx + eax*4]
jmp 0x11016a17
fst dword [ebx + eax*4]
mov esi, dword [0x11047348]
shl esi, 5
sar ecx, 1
add esi, ecx
fmul dword [esi*4 + 0x110224e4]
jmp 0x11016a17
mov ecx, dword [esp + 0x48]
test ecx, ecx
mov ecx, dword [edx]
je 0x110169d0
test ecx, ecx
jl 0x11016977
fld dword [ecx*4 + 0x1102ff38]
jmp 0x11016985
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
mov ecx, dword [edx + 0x908]
fmul dword [esp + 0x5c]
test ecx, ecx
jl 0x1101699c
fld dword [ecx*4 + 0x1102ff38]
jmp 0x110169aa
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x60]
fld st(0)
fadd st(2)
fmul qword [0x11024e78]
fstp dword [ebx + eax*4]
fxch st(1)
fsub st(1)
fmul qword [0x11024e78]
fstp dword [ebx + eax*4 + 0x900]
fstp st(0)
jmp 0x11016a1e
test ecx, ecx
jl 0x110169dd
fld dword [ecx*4 + 0x1102ff38]
jmp 0x110169eb
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x5c]
fstp dword [ebx + eax*4]
mov ecx, dword [edx + 0x908]
test ecx, ecx
jl 0x11016a05
fld dword [ecx*4 + 0x1102ff38]
jmp 0x11016a13
shl ecx, 2
mov esi, 0x1102ff38
sub esi, ecx
fld dword [esi]
fchs
fmul dword [esp + 0x60]
fstp dword [ebx + eax*4 + 0x900]
mov eax, dword [esp + 0x44]
add ebp, 2
add edx, 4
dec eax
mov dword [esp + 0x44], eax
jne 0x110168b0
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x34]
mov eax, 4
add esi, eax
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], eax
jne 0x110166bc
mov edx, dword [esp + 0x1c]
mov esi, dword [0x110492f8]
mov eax, dword [esp + 0x74]
mov ecx, dword [edx + esi]
mov edx, dword [esp + 0x30]
add edx, 4
neg ecx
mov edi, dword [edx + esi]
mov dword [esp + 0x30], edx
add ecx, edi
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
jl 0x1101667b
mov eax, edx
cmp eax, 0x240
jge 0x1101702b
jmp 0x11016ab3
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [edx + eax*2]
mov edx, 0x240
sub edx, eax
xor esi, esi
movsx eax, word [ecx]
add ecx, 2
dec edx
mov dword [ebx + eax*4 + 0x900], esi
mov dword [ebx + eax*4], esi
jne 0x11016ac3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x68]
push edi
push ecx
call fcn.110170c0
lea edx, [edi + edi*4]
mov dword [esp + 0x54], eax
add esp, 0xc
xor esi, esi
lea eax, [edi + edx*2]
mov edx, dword [esp + 0x14]
shl eax, 2
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], esi
mov ecx, dword [eax*4 + 0x1103fde0]
mov eax, dword [edx + 0x14c]
lea edi, [eax + eax*4]
lea eax, [eax + edi*2]
movsx edi, byte [eax*2 + 0x1102249c]
add edi, ecx
mov ecx, dword [edx + 0x15c]
mov eax, dword [edx + 0x7c]
inc ecx
shl edi, cl
sub eax, edi
sub eax, 0xd2
js 0x11016b62
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x58], edx
fild dword [esp + 0x58]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016b87
cmp eax, 0xffffff81
jl 0x11016b81
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016b87
fld dword [0x11020210]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
fstp dword [esp + 0x5c]
mov eax, dword [edi + 0x150]
mov ebx, dword [edx*4 + 0x1103fe38]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [edi + 0x160]
mov eax, dword [edi + 0x80]
movsx edx, byte [edx*2 + 0x1102249c]
add edx, ebx
inc ecx
shl edx, cl
sub eax, edx
sub eax, 0xd2
js 0x11016be8
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x58], edx
fild dword [esp + 0x58]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016c0d
cmp eax, 0xffffff81
jl 0x11016c07
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016c0d
fld dword [0x11020210]
mov eax, dword [esp + 0x48]
fstp dword [esp + 0x60]
test eax, eax
mov eax, dword [esp + 0x74]
je 0x11016def
mov ecx, dword [esp + 0x64]
test ecx, ecx
jle 0x11016f52
mov edx, dword [esp + 0x78]
mov ebp, eax
mov dword [esp + 0x58], ebp
lea ecx, [edx + edx*4]
lea edx, [edx + ecx*2]
mov ecx, 0x11049c28
shl edx, 4
add edx, 0x1103fe38
sub ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x11016c57
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + ebp - 0x908]
test eax, eax
jl 0x11016c6b
fld dword [eax*4 + 0x1102ff38]
jmp 0x11016c7d
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
mov ecx, dword [esp + 0x1c]
fchs
mov eax, dword [ecx + ebp]
fmul dword [esp + 0x5c]
test eax, eax
jl 0x11016c91
fld dword [eax*4 + 0x1102ff38]
jmp 0x11016c9f
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
fmul dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
fld st(0)
fadd st(2)
fmul dword [0x11024e70]
fstp dword [ebp]
fxch st(1)
fsub st(1)
fmul dword [0x11024e70]
fstp dword [ebp + 0x900]
mov eax, dword [0x110492f4]
fstp st(0)
cmp ecx, dword [eax + esi*4]
jne 0x11016dce
mov eax, dword [edi + 0x14c]
mov ecx, dword [edx - 0x54]
inc esi
add edx, 4
lea ebx, [eax + eax*4]
lea eax, [eax + ebx*2]
movsx ebx, byte [esi + eax*2 + 0x1102249c]
add ebx, ecx
mov ecx, dword [edi + 0x15c]
mov eax, dword [edi + 0x7c]
inc ecx
shl ebx, cl
sub eax, ebx
sub eax, 0xd2
js 0x11016d26
mov ecx, eax
mov ebx, 1
sar ecx, 2
shl ebx, cl
and eax, 3
mov dword [esp + 0x78], ebx
fild dword [esp + 0x78]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016d4b
cmp eax, 0xffffff81
jl 0x11016d45
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016d4b
fld dword [0x11020210]
mov eax, dword [edi + 0x150]
mov ebx, dword [edx]
fstp dword [esp + 0x5c]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, dword [edi + 0x160]
movsx eax, byte [esi + eax*2 + 0x1102249c]
add eax, ebx
inc ecx
shl eax, cl
mov ecx, eax
mov eax, dword [edi + 0x80]
sub eax, ecx
sub eax, 0xd2
js 0x11016da5
mov ecx, eax
mov ebp, 1
sar ecx, 2
shl ebp, cl
and eax, 3
mov dword [esp + 0x78], ebp
mov ebp, dword [esp + 0x58]
fild dword [esp + 0x78]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016dca
cmp eax, 0xffffff81
jl 0x11016dc4
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016dca
fld dword [0x11020210]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
inc eax
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x58], ebp
jl 0x11016c53
jmp 0x11016f52
mov eax, dword [esp + 0x64]
test eax, eax
jle 0x11016f52
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov eax, 0x11049320
mov ecx, 0x11049c28
lea edx, [edi + edi*4]
sub eax, ebp
mov dword [esp + 0x38], eax
lea edi, [edi + edx*2]
shl edi, 4
add edi, 0x1103fe38
sub ecx, ebp
mov dword [esp + 0x1c], ecx
jmp 0x11016e32
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ebp]
test eax, eax
jl 0x11016e42
fld dword [eax*4 + 0x1102ff38]
jmp 0x11016e50
shl eax, 2
mov edx, 0x1102ff38
sub edx, eax
fld dword [edx]
fchs
fmul dword [esp + 0x5c]
fstp dword [ebp]
mov eax, dword [ecx + ebp]
test eax, eax
jl 0x11016e67
fld dword [eax*4 + 0x1102ff38]
jmp 0x11016e75
shl eax, 2
mov ecx, 0x1102ff38
sub ecx, eax
fld dword [ecx]
fchs
fmul dword [esp + 0x60]
mov eax, dword [esp + 0x10]
fstp dword [ebp + 0x900]
mov edx, dword [0x110492f4]
cmp eax, dword [edx + esi*4]
jne 0x11016f3a
mov edx, dword [esp + 0x14]
mov ecx, dword [edi - 0x54]
inc esi
add edi, 4
mov eax, dword [edx + 0x14c]
lea ebx, [eax + eax*4]
lea eax, [eax + ebx*2]
movsx ebx, byte [esi + eax*2 + 0x1102249c]
add ebx, ecx
mov ecx, dword [edx + 0x15c]
mov eax, dword [edx + 0x7c]
inc ecx
shl ebx, cl
sub eax, ebx
sub eax, 0xd2
js 0x11016ee8
mov ecx, eax
mov edx, 1
sar ecx, 2
shl edx, cl
and eax, 3
mov dword [esp + 0x78], edx
fild dword [esp + 0x78]
fmul dword [eax*4 + 0x1102fe98]
jmp 0x11016f0d
cmp eax, 0xffffff81
jl 0x11016f07
neg eax
mov ecx, eax
sar ecx, 2
and eax, 3
fld dword [ecx*4 + 0x1102fea8]
fmul dword [eax*4 + 0x1102ff28]
jmp 0x11016f0d
fld dword [0x11020210]
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
fstp dword [esp + 0x5c]
mov edx, dword [eax + 0x150]
mov ecx, dword [eax + 0x160]
push edx
mov edx, dword [eax + 0x80]
push ebx
push ecx
push edx
push esi
call fcn.11017040
fstp dword [esp + 0x74]
add esp, 0x14
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
inc eax
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x11016e2a
mov eax, dword [0x11047340]
mov ecx, dword [0x11047344]
cmp eax, ecx
mov dword [esp + 0x78], eax
jg 0x11016f69
mov dword [esp + 0x78], ecx
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
cmp ebp, eax
jge 0x11017005
mov eax, dword [esp + 0x50]
add eax, esi
lea edi, [eax*4 + 0x1103fe38]
mov ecx, dword [esp + 0x28]
mov eax, ebx
cmp ecx, 1
jne 0x11016f98
cmp ebx, 7
jne 0x11016fa6
jmp 0x11016fa1
cmp ebx, dword [esi*4 + 0x11047360]
jne 0x11016fa6
mov eax, 0xfeed
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x78]
push eax
lea eax, [esp + 0x64]
push edx
push eax
push ebp
push ecx
call fcn.11017490
mov edx, dword [0x110492f4]
add esp, 0x18
cmp ebp, dword [edx + esi*4]
jne 0x11016ffc
mov ecx, dword [esp + 0x14]
mov eax, dword [edi - 0x54]
add edi, 4
inc esi
mov edx, dword [ecx + 0x14c]
mov ebx, dword [edi]
push edx
push eax
mov eax, dword [ecx + 0x15c]
mov ecx, dword [ecx + 0x7c]
push eax
push ecx
push esi
call fcn.11017040
fstp dword [esp + 0x70]
add esp, 0x14
mov eax, dword [esp + 0x78]
inc ebp
cmp ebp, eax
jl 0x11016f86
cmp ebp, 0x240
jge 0x1101702b
mov edx, dword [esp + 0x74]
mov ecx, 0x240
sub ecx, ebp
lea eax, [edx + ebp*4]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 0x900], edx
add eax, 4
dec ecx
jne 0x1101701d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret