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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x694
mov esi, dword [esp + 0x6ac]
test esi, esi
jle 0x100ac665
mov ebp, dword [esp + 0x6b4]
mov ecx, ebp
and ecx, 0x80002000
mov edi, ebp
and edi, 0x80001000
xor ebx, ebx
cmp ecx, 0x80002000
sete bl
mov ecx, ebp
xor edx, edx
shl ebx, 0xa
cmp edi, 0x80001000
sete dl
xor eax, eax
shr ecx, 0x16
shl edx, 9
or ebx, edx
mov edx, ebp
and edx, 0x80000800
cmp edx, 0x80000800
sete al
and ecx, 7
shl eax, 8
or ebx, eax
test ebp, 0x80000000
jne 0x100a8b55
test cl, 1
jne 0x100a8b55
xor ecx, ecx
mov eax, 1
shl eax, cl
or ebx, eax
test cl, 4
je 0x100a8b84
test cl, 2
je 0x100a8b76
mov eax, 0xaaaa
mov dword [esp + 0x13c], eax
jmp 0x100a8bb3
mov eax, 0xfa
mov dword [esp + 0x13c], eax
jmp 0x100a8bb3
test cl, 2
je 0x100a8b97
mov eax, 0xfa00
mov dword [esp + 0x13c], eax
jmp 0x100a8bb3
test cl, 1
je 0x100a8ba7
xor eax, eax
mov dword [esp + 0x13c], eax
jmp 0x100a8bb3
mov eax, 0xa8a8
mov dword [esp + 0x13c], eax
mov ebp, dword [esp + 0x6a8]
mov eax, ebp
and eax, 0x7f800000
mov ecx, ebp
and ecx, 0x80000000
xor ebp, ecx
mov dword [esp + 0x34], ebp
fld dword [esp + 0x34]
fstp xword [esp + 0x20]
mov edx, ebp
shr edx, 7
add edx, 0xff810000
test eax, eax
je 0x100a8bf1
cmp eax, 0x7f800000
jne 0x100a8eb1
cmp eax, ebp
jne 0x100a8cbb
test eax, eax
je 0x100a8c9d
mov dword [esp + 0x1ec], 0
test ecx, ecx
je 0x100a8c17
mov eax, 0xfffffffc
jmp 0x100a8c1c
mov eax, 4
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test ebx, 0x400
je 0x100a8c43
test ebx, 0x200
je 0x100a8c3c
mov ebx, str.INFINITY
jmp 0x100a8c48
mov ebx, 0x100dc014
jmp 0x100a8c48
mov ebx, section._RDATA
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x100a8c69
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x100a8c59
mov eax, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c4]
mov ebp, dword [esp + 0x6b4]
mov ecx, edx
sub ecx, eax
test ebp, 0x40000000
mov dword [ebx], ecx
je 0x100a8c96
mov ecx, 0xc
jmp 0x100a934b
xor ecx, ecx
jmp 0x100a934b
test ecx, ecx
je 0x100a8ca8
mov eax, 0xffffffff
jmp 0x100a8cad
mov eax, 1
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
jmp 0x100a8dab
test eax, eax
je 0x100a8d80
mov dword [esp + 0x1ec], 0
mov esi, ebx
and esi, 0x400
je 0x100a8d04
test ebp, 0x400000
jne 0x100a8cf2
test ecx, ecx
je 0x100a8ceb
mov eax, 0xfffffffa
jmp 0x100a8d06
mov eax, 6
jmp 0x100a8d06
test ecx, ecx
je 0x100a8cfd
mov eax, 0xfffffffb
jmp 0x100a8d06
mov eax, 5
jmp 0x100a8d06
xor eax, eax
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test esi, esi
je 0x100a8d29
test ebx, 0x200
je 0x100a8d22
mov ebx, 0x100bf18c
jmp 0x100a8d2e
mov ebx, 0x100dc010
jmp 0x100a8d2e
mov ebx, 0x100dc00c
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x100a8d4f
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x100a8d3f
mov eax, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c4]
mov ebp, dword [esp + 0x6b4]
mov ecx, edx
sub ecx, eax
test ebp, 0x40000000
mov dword [ebx], ecx
je 0x100a8c96
mov ecx, 0xa
jmp 0x100a934b
test ecx, ecx
je 0x100a8d8b
mov eax, 0xfffffffe
jmp 0x100a8d90
mov eax, 2
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
mov eax, dword [esp + 0x6b4]
test eax, 0x10000000
je 0x100a8e60
mov eax, dword [esp + 0x6b4]
test eax, 0x80
je 0x100a8dc0
mov esi, 1
jmp 0x100a8e18
mov eax, dword [esp + 0x6b4]
test al, 2
je 0x100a8e18
mov esi, dword [esp + 0x6b0]
mov eax, dword [esp + 0x6ac]
lea esi, [esi + 1]
cmp esi, eax
jle 0x100a8de9
mov esi, dword [esp + 0x6ac]
jmp 0x100a8e18
test esi, esi
jg 0x100a8e18
mov eax, dword [esp + 0x6b8]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6b8]
mov ecx, dword [esp + 0x6c4]
mov byte [eax], 0x30
mov dword [ecx], 1
mov ecx, 6
jmp 0x100a934b
mov eax, dword [esp + 0x6b8]
mov edx, eax
lea ecx, [esi - 1]
test esi, esi
je 0x100a8e36
mov byte [edx], 0x30
add ecx, 0xffffffff
add edx, 1
cmp ecx, 0xffffffff
jne 0x100a8e28
mov ecx, dword [esp + 0x6c4]
mov ebx, dword [esp + 0x6b4]
mov dword [ecx], 1
test ebx, 0x40000000
je 0x100a8c96
mov ecx, 0xb
jmp 0x100a934b
mov dword [esp + 8], ebp
mov edx, ebp
and edx, 0x7f800000
shr edx, 0x17
test edx, edx
je 0x100a8e80
mov edi, ebp
or edi, 0xff800000
shl edi, 8
jmp 0x100a8e9a
mov edi, ebp
shl edi, 9
test edi, edi
jle 0x100abd85
xor eax, eax
add edi, edi
add eax, 1
test edi, edi
jg 0x100a8e8f
sub edx, eax
add edx, 0xffffff81
shl edx, 0x10
shr edi, 0xf
movzx eax, di
or edx, eax
mov dword [esp + 0x1f0], eax
jmp 0x100a8eca
test ecx, ecx
je 0x100a8ebc
mov eax, 0xfffffffd
jmp 0x100a8ec1
mov eax, 3
mov edi, dword [esp + 0x6c8]
mov dword [edi], eax
xor eax, eax
test ecx, ecx
setne al
test ebx, 0x100
mov dword [esp + 0x140], eax
je 0x100a93a6
and ebx, 0x200
je 0x100a8efa
mov eax, 0x46
mov dword [esp + 0x94], eax
jmp 0x100a8f06
mov eax, 0x66
mov dword [esp + 0x94], eax
test ebx, ebx
je 0x100a8f18
mov eax, 8
mov dword [esp + 0x1d4], eax
jmp 0x100a8f24
mov eax, 0x28
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x14], ebp
mov eax, ebp
and eax, 0x7f800000
shr eax, 0x17
mov dword [esp + 0x4ec], eax
test eax, eax
je 0x100a8f48
or ebp, 0xff800000
shl ebp, 8
jmp 0x100a8f6e
shl ebp, 9
test ebp, ebp
jle 0x100abebf
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x100a8f55
mov edx, dword [esp + 0x4ec]
sub edx, eax
mov dword [esp + 0x4ec], edx
mov eax, dword [esp + 0x6b4]
add dword [esp + 0x4ec], 0xffffff82
and eax, 2
mov dword [esp + 0x30], eax
jne 0x100a8fa6
mov esi, dword [esp + 0x6ac]
mov dword [esp + 0x1ec], 0
mov eax, 3
mov dword [esp + 0x22c], eax
jmp 0x100a901c
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x100abea9
mov eax, dword [esp + 0x4ec]
and eax, 3
mov dword [esp + 0x22c], eax
je 0x100a8fd6
neg eax
add eax, 4
mov dword [esp + 0x22c], eax
jmp 0x100a8fdf
xor eax, eax
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x4ec]
test eax, eax
jle 0x100abdfb
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x1ec], 0
lea esi, [eax + 3]
sar esi, 1
shr esi, 0x1e
lea esi, [esi + eax + 3]
sar esi, 2
add esi, dword [esp + 0x6b0]
cmp edx, esi
jge 0x100a901c
mov esi, edx
mov eax, dword [esp + 0x22c]
add dword [esp + 0x4ec], eax
test eax, eax
je 0x100a9068
mov ecx, eax
neg ecx
mov edx, ebp
shl edx, cl
mov dword [esp + 0x1f4], edx
mov ecx, eax
shr ebp, cl
mov dword [esp + 0x1f0], ebp
test edx, edx
je 0x100a905a
mov eax, 2
mov dword [esp + 0x88], eax
jmp 0x100a907b
mov eax, 1
mov dword [esp + 0x88], eax
jmp 0x100a907b
mov dword [esp + 0x1f0], ebp
mov eax, 1
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x230], esi
mov byte [eax], 0x30
lea eax, [eax + 1]
mov edx, eax
test esi, esi
jle 0x100abde1
mov dword [esp + 0x4f0], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x134], esi
mov ecx, 8
mov dword [esp + 0x608], ecx
mov eax, ecx
xor edi, edi
mov dword [esp + 0x138], edi
mov esi, edi
mov ecx, 1
mov edi, dword [esp + 0x230]
mov dword [esp + 0x22c], ecx
add edi, 0xffffffff
test eax, eax
jne 0x100a910a
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x100abd8c
add ecx, 1
mov ebp, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x22c], ecx
mov eax, 8
mov ebx, ebp
shr ebx, 0x1c
mov esi, ebx
and esi, 1
shl ebp, 4
add eax, 0xffffffff
cmp ebx, 0xa
jge 0x100a9124
add ebx, 0x30
jmp 0x100a9134
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x100a9131
add ebx, 0x37
jmp 0x100a9134
add ebx, 0x57
mov byte [edx], bl
add edx, 1
test edi, edi
jg 0x100a90d7
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0x134]
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x608]
test ecx, ecx
jne 0x100a918b
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x100a9189
add ecx, 1
mov ebp, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x22c], ecx
jmp 0x100a918b
xor ebp, ebp
mov ecx, dword [esp + 0x22c]
mov ebx, dword [esp + 0x88]
add ecx, 1
mov dword [esp + 0x22c], ecx
cmp ecx, ebx
ja 0x100abdda
mov ecx, ebx
sub ecx, dword [esp + 0x22c]
cmp ecx, 6
jb 0x100abdd3
mov edi, dword [esp + 0x22c]
xor ecx, ecx
lea ebx, [ebx - 6]
or ecx, dword [esp + edi*4 + 0x1ec]
or ecx, dword [esp + edi*4 + 0x1f0]
or ecx, dword [esp + edi*4 + 0x1f4]
or ecx, dword [esp + edi*4 + 0x1f8]
or ecx, dword [esp + edi*4 + 0x1fc]
add edi, 5
cmp edi, ebx
jbe 0x100a91c9
mov dword [esp + 0x22c], edi
mov ebx, dword [esp + 0x22c]
mov edi, dword [esp + 0x88]
or ecx, dword [esp + ebx*4 + 0x1ec]
add ebx, 1
cmp ebx, edi
jbe 0x100a9208
mov dword [esp + 0x408], edx
mov edi, ebp
and edi, 0x7fffffff
shr ebp, 0x1f
xor edx, edx
test edi, edi
mov dword [esp + 0x230], edx
mov ebx, edx
setne bl
xor edx, edx
mov dword [esp + 0x230], edx
mov edx, dword [esp + 0x408]
or ecx, ebx
mov ebx, dword [esp + 0x138]
test ecx, ecx
mov ecx, dword [esp + 0x230]
setne cl
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x140]
add ebx, ebx
lea ecx, [ebx + ecx*8]
mov ebx, dword [esp + 0x230]
lea ebp, [ebp + ebx*4]
mov ebx, dword [esp + 0x6c4]
add ecx, ebp
mov ebp, dword [esp + 0x13c]
shr ebp, cl
mov ecx, dword [esp + 0x4ec]
mov dword [ebx], ecx
and ebp, 1
mov ebx, 4
test ebp, ebp
je 0x100a92fb
mov edi, dword [esp + 0x94]
lea ebp, [edx - 1]
movsx ecx, byte [ebp]
mov dword [esp + 0x230], ecx
cmp ecx, edi
jne 0x100a92cf
movsx ecx, byte [ebp - 1]
mov edx, ebp
add ebp, 0xffffffff
cmp ecx, edi
je 0x100a92bb
mov dword [esp + 0x230], ecx
cmp ecx, 0x39
je 0x100a92e0
mov ecx, 1
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x230]
add ecx, dword [esp + 0x1d4]
mov byte [edx - 1], cl
cmp edx, eax
je 0x100abda6
jmp 0x100a9303
test esi, esi
jle 0x100a8dab
mov ecx, dword [esp + 0x6b4]
test ecx, 0x80
je 0x100a932d
lea ecx, [edx - 1]
movsx ebx, byte [ecx]
cmp ebx, 0x30
jne 0x100a9349
movsx ebx, byte [ecx - 1]
mov edx, ecx
add ecx, 0xffffffff
cmp ebx, 0x30
je 0x100a931d
jmp 0x100a9349
mov ecx, edx
sub ecx, eax
sub esi, ecx
lea ecx, [esi - 1]
test esi, esi
jle 0x100a9349
mov byte [edx], 0x30
mov ebx, ecx
add edx, 1
add ecx, 0xffffffff
test ebx, ebx
jg 0x100a933a
xor ecx, ecx
mov ebx, dword [esp + 0x6bc]
mov byte [edx], 0
test ebx, ebx
je 0x100a936c
mov ebp, dword [esp + 0x6bc]
mov ebx, eax
sub ebx, dword [esp + 0x6b8]
mov dword [ebp], ebx
mov ebx, dword [esp + 0x6c0]
test ebx, ebx
je 0x100a9387
sub edx, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c0]
mov dword [ebx], edx
mov ebx, dword [esp + 0x6cc]
test ebx, ebx
je 0x100a939b
mov ebx, dword [esp + 0x6cc]
mov dword [ebx], ecx
add esp, 0x694
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x1ec], 0
test edx, edx
jl 0x100ac65b
mov eax, 0x4d104d42
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
imul dword [esp + 0x10]
mov dword [esp + 0x18], edx
movsx edi, word [esp + 0x1a]
mov edx, dword [esp + 0x6b4]
fld xword [esp + 0x20]
mov dword [esp + 0x130], ebp
add edi, 1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x134], esi
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x4ec], eax
and edx, 2
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x6b8]
lea edx, [edx + 1]
mov dword [esp + 0x138], edx
jmp 0x100a943f
mov edi, dword [esp + 0x128]
fld xword [esp + 0x20]
neg edi
add edi, 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100a94a0
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x100abf5f
mov eax, dword [esp + 0x6b0]
mov ecx, dword [esp + 0x6ac]
lea edx, [edi + eax]
mov dword [esp + 0x134], edx
cmp edx, ecx
jle 0x100a948b
mov eax, dword [esp + 0x6c4]
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x134], edx
mov dword [eax], edi
jmp 0x100a94a9
mov eax, edx
test eax, eax
jle 0x100abec6
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
jmp 0x100a94a9
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
jne 0x100a9511
mov esi, dword [esp + 0x130]
mov dword [esp + 0x1c], esi
and esi, 0x7f800000
shr esi, 0x17
test esi, esi
je 0x100a94d7
mov edx, dword [esp + 0x130]
or edx, 0xff800000
shl edx, 8
jmp 0x100a94f6
mov edx, dword [esp + 0x130]
shl edx, 9
test edx, edx
jle 0x100abf6d
xor eax, eax
add edx, edx
add eax, 1
test edx, edx
jg 0x100a94eb
sub esi, eax
mov dword [esp + 0x1f0], edx
add esi, 0xffffff82
xor eax, eax
mov edx, 0x18
mov ebx, 1
jmp 0x100a9623
mov eax, dword [esp + 0x134]
cmp eax, 0xf
jl 0x100a9539
cmp edi, 0xfffffeaa
jl 0x100a9546
cmp edi, 0x159
jg 0x100a9546
cmp eax, 0x11
jle 0x100a954d
mov edx, 0x80
jmp 0x100a9552
cmp edi, 0x24
jle 0x100a9579
cmp edi, 0x159
jle 0x100a954d
mov edx, 0x80
jmp 0x100a9552
mov edx, 0x40
mov dword [esp + 0x144], edx
mov dword [esp + 0x128], edi
xor eax, eax
cmp edx, 0x80
setne al
mov dword [esp + 0x148], eax
fstp st(0)
jmp 0x100a9aa6
fld qword [edi*8 + 0x100c60f8]
fmul st(1)
fstp qword [esp]
mov ebp, dword [esp + 4]
mov esi, ebp
mov edx, dword [esp]
and esi, 0x7ff00000
shr esi, 0x14
test esi, esi
je 0x100a95b0
or ebp, 0xfff00000
shl ebp, 0xb
mov eax, edx
shr eax, 0x15
or ebp, eax
shl edx, 0xb
jmp 0x100a95fb
test ebp, ebp
je 0x100a95df
shl ebp, 0xc
test ebp, ebp
jle 0x100abf74
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x100a95c1
sub esi, eax
add eax, 0xc
mov ecx, eax
neg ecx
mov ebx, edx
shr ebx, cl
mov ecx, eax
shl edx, cl
or ebp, ebx
jmp 0x100a95fb
mov ebp, edx
test edx, edx
jle 0x100ac654
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x100a95eb
sub esi, eax
add esi, 0xffffffec
xor edx, edx
mov dword [esp + 0x1f0], ebp
mov dword [esp + 0x1f4], edx
add esi, 0xfffffc02
xor ebx, ebx
test edx, edx
setne bl
mov eax, 1
mov edx, 0x35
add ebx, 1
mov dword [esp + 0x144], edx
fstp st(0)
mov dword [esp + 0x148], eax
mov dword [esp + 0x128], edi
test esi, esi
jg 0x100a942f
neg esi
je 0x100a96a2
mov edx, ebx
shl edx, 2
mov ebp, dword [esp + edx + 0x1ec]
mov eax, esi
neg eax
mov ecx, eax
shl ebp, cl
mov ecx, esi
shr dword [esp + edx + 0x1ec], cl
mov edi, ebx
add edi, 0xffffffff
mov dword [esp + edx + 0x1f0], ebp
je 0x100a9694
lea ebp, [ebx - 1]
mov edi, dword [esp + ebp*4 + 0x1ec]
mov ecx, eax
shl edi, cl
mov ecx, esi
shr dword [esp + ebp*4 + 0x1ec], cl
or dword [esp + ebp*4 + 0x1f0], edi
add ebp, 0xffffffff
jne 0x100a9674
mov eax, dword [esp + edx + 0x1f0]
test eax, eax
je 0x100a96a2
add ebx, 1
mov esi, dword [esp + 0x6b8]
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x408], eax
cmp edx, 0x25
mov byte [esi], 0x30
mov dword [esp + 0x4f0], eax
mov esi, 0x25
jge 0x100a96d4
mov esi, edx
test esi, esi
je 0x100ac646
mov edi, dword [esp + 0x408]
xor ebp, ebp
mov dword [esp + 0x1ec], 0
xor edx, edx
test ebx, ebx
je 0x100a97a8
mov edx, dword [esp + ebx*4 + 0x1ec]
mov dword [esp + ebx*4 + 0x1ec], 0
mov eax, 0
je 0x100a979a
mov dword [esp + 0x230], ebp
mov eax, ebx
mov dword [esp + 0x22c], esi
mov dword [esp + 0x408], edi
mov edi, edx
shr edi, 0x1e
lea esi, [edx + edx*4]
cmp esi, edx
mov ebp, 0
adc ebp, 0
mov edx, esi
shr edx, 0x1f
add ebp, edi
mov edi, dword [esp + eax*4 + 0x1ec]
add ebp, ebp
or ebp, edx
mov edx, dword [esp + eax*4 + 0x1e8]
lea ecx, [esi + esi]
lea esi, [edi + esi*2]
mov dword [esp + eax*4 + 0x1ec], esi
cmp esi, ecx
mov ecx, 0
adc ecx, 0
add ecx, ebp
mov dword [esp + eax*4 + 0x1e8], ecx
add eax, 0xffffffff
jne 0x100a972e
mov ebp, dword [esp + 0x230]
mov esi, dword [esp + 0x22c]
mov edi, dword [esp + 0x408]
mov eax, dword [esp + ebx*4 + 0x1ec]
mov edx, dword [esp + 0x1ec]
test eax, eax
jne 0x100a97a8
add ebx, 0xffffffff
add ebp, 0x35269
lea eax, [edx + 0x30]
mov byte [edi], al
add edi, 1
add esi, 0xffffffff
jne 0x100a96e5
mov dword [esp + 0x408], edi
mov esi, dword [esp + 0x144]
mov ebx, dword [esp + 0x1f0]
add ebp, 0xffff
mov dword [esp + 0x608], ebx
lea eax, [esi + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0x1d8], eax
shr ebp, 0x10
sub ebp, esi
add ebp, eax
mov eax, dword [esp + 0x148]
mov ecx, ebp
mov esi, eax
shl esi, cl
lea edi, [ebx - 0x80000000]
mov dword [esp + 0x150], edi
and edx, 1
xor eax, eax
test edi, edi
setge al
je 0x100a982c
mov ebx, edi
cmp ebx, 0x80000000
je 0x100a982c
mov edi, 1
jmp 0x100a982e
xor edi, edi
mov ebx, dword [esp + 0x140]
add edx, edx
lea edx, [edx + ebx*8]
mov dword [esp + 0x14c], edx
add eax, edx
lea ecx, [eax + edi*4]
mov edi, dword [esp + 0x13c]
mov edx, dword [esp + 0x608]
shr edi, cl
lea ebx, [esi + edx - 0x80000000]
and edi, 1
mov dword [esp + 0x4f4], edi
lea edi, [esi + esi]
xor edx, edx
cmp ebx, edi
setbe dl
mov ebx, dword [esp + 0x1d8]
sub ebx, ebp
cmp ebx, 0x20
jb 0x100a9a65
mov edx, dword [esp + 0x608]
add edx, 0x80000001
cmp edx, 1
ja 0x100abf7b
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x1d8]
mov edi, ebp
shr edi, 5
mov ecx, ebp
mov esi, edx
shl esi, cl
shr ebx, 5
sub ebx, edi
mov dword [esp + 0x1d8], ebx
mov edx, esi
mov ecx, esi
cmp ebx, 1
jle 0x100a9a1c
lea ebx, [ebx - 1]
cmp ebx, 5
jl 0x100a99ba
mov ebx, dword [esp + 0x1d8]
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x2b4], esi
mov esi, dword [esp + ebx*4 + 0x1ec]
add edx, esi
neg ecx
add ecx, esi
mov edi, 0
xor eax, eax
test esi, esi
setne al
cmp edx, esi
adc edi, 0
mov edx, dword [esp + ebx*4 + 0x1e8]
or ebp, eax
cmp esi, ecx
mov ecx, 0
adc ecx, 0
add edi, edx
xor eax, eax
test edx, edx
setne al
neg ecx
add ecx, edx
or ebp, eax
cmp edi, edx
mov esi, 0
adc esi, 0
cmp edx, ecx
mov ecx, dword [esp + ebx*4 + 0x1e4]
mov edi, 0
adc edi, 0
add esi, ecx
mov edx, 0
neg edi
add edi, ecx
xor eax, eax
test ecx, ecx
setne al
cmp esi, ecx
adc edx, 0
or ebp, eax
cmp ecx, edi
mov esi, 0
adc esi, 0
mov eax, dword [esp + ebx*4 + 0x1e0]
add edx, eax
xor ecx, ecx
test eax, eax
setne cl
neg esi
add esi, eax
or ebp, ecx
cmp edx, eax
mov edx, 0
adc edx, 0
cmp eax, esi
mov ecx, 0
adc ecx, 0
add ebx, 0xfffffffc
cmp ebx, 6
jge 0x100a98ec
mov esi, dword [esp + 0x2b4]
mov dword [esp + 0x1d8], ebx
mov eax, ebx
lea ebx, [eax - 1]
mov dword [esp + 0x150], ebp
mov edi, dword [esp + 0x1d8]
mov ebp, dword [esp + 0x150]
jmp 0x100a99cd
add ebx, 0xffffffff
mov edi, dword [esp + edi*4 + 0x1ec]
add edx, edi
neg ecx
add ecx, edi
xor eax, eax
test edi, edi
setne al
cmp edx, edi
mov edx, 0
adc edx, 0
or ebp, eax
cmp edi, ecx
mov ecx, 0
adc ecx, 0
mov edi, ebx
cmp ebx, 1
jg 0x100a99ca
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x150], ebp
mov ebx, ebp
xor eax, eax
test ebx, ebx
setge al
add eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x1d8]
mov ebp, dword [esp + ebx*4 + 0x1ec]
add edx, ebp
sub ebp, ecx
xor edx, ebp
shr edx, 0x1f
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x100a9a4d
cmp ecx, 0x80000000
je 0x100a9a4d
mov ecx, 1
jmp 0x100a9a4f
xor ecx, ecx
mov ebx, dword [esp + 0x13c]
lea ecx, [eax + ecx*4]
shr ebx, cl
and ebx, 1
mov dword [esp + 0x4f4], ebx
test edx, edx
je 0x100abf7b
test esi, esi
je 0x100abf7b
mov eax, dword [esp + 0x144]
cmp eax, 0x80
jae 0x100ac5f9
cmp eax, 0x40
jae 0x100a9a9a
mov eax, 0x40
mov dword [esp + 0x144], eax
jmp 0x100a9aa6
mov eax, 0x80
mov dword [esp + 0x144], eax
mov esi, dword [esp + 0x130]
mov dword [esp + 0x12c], esi
and esi, 0x7f800000
shr esi, 0x17
test esi, esi
je 0x100a9ad2
mov eax, dword [esp + 0x130]
or eax, 0xff800000
shl eax, 8
jmp 0x100a9af1
mov eax, dword [esp + 0x130]
shl eax, 9
test eax, eax
jle 0x100ac5f2
xor edx, edx
add eax, eax
add edx, 1
test eax, eax
jg 0x100a9ae6
sub esi, edx
mov ebx, dword [esp + 0x128]
mov edx, dword [esp + 0x144]
mov dword [esp + 0x1f0], eax
add esi, 0xffffff82
cmp edx, 0x40
jne 0x100a9f0a
mov edx, ebx
cmp edx, 0xffffffd1
jl 0x100a9bc5
cmp edx, 0x2f
jg 0x100a9b66
movsx edi, word [ebx*2 + 0x100c5bfe]
mov edx, dword [ebx*8 + 0x100c5a1c]
mov ebp, dword [ebx*8 + 0x100c5a18]
mov dword [esp + 0x50c], edx
test ebp, ebp
mov dword [esp + 0x510], ebp
jne 0x100abfb4
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100a9b53
jmp 0x100aae80
mov ebx, edx
sar ebx, 3
lea ebp, [ebx + ebx]
movzx eax, word [ebp + 0x100c5de2]
shr eax, 5
cmp eax, edx
jg 0x100a9b80
lea ebp, [ebx + ebx + 2]
movzx eax, word [ebp + 0x100c5de0]
mov ebp, eax
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x100c5e5c]
mov ebx, dword [ebp*8 + 0x100c5d64]
mov edi, dword [ebp*8 + 0x100c5d60]
mov dword [esp + 0x94], edx
mov dword [esp + 0x5cc], ebx
shr eax, 5
mov dword [esp + 0x5d0], edi
neg eax
add eax, dword [esp + 0x128]
jmp 0x100a9c1f
neg edx
mov ebx, edx
sar ebx, 3
movzx ebp, word [ebx*2 + 0x100c5ce0]
mov eax, ebp
shr eax, 5
cmp eax, edx
jge 0x100a9bea
movzx ebp, word [ebx*2 + 0x100c5ce2]
mov eax, ebp
shr eax, 5
add eax, dword [esp + 0x128]
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x100c5e3c]
mov ebx, dword [ebp*8 + 0x100c5c64]
mov ebp, dword [ebp*8 + 0x100c5c60]
mov dword [esp + 0x94], edx
mov dword [esp + 0x5cc], ebx
mov dword [esp + 0x5d0], ebp
movsx edi, word [eax*2 + 0x100c5bfe]
mov edx, dword [eax*8 + 0x100c5a1c]
mov eax, dword [eax*8 + 0x100c5a18]
mov dword [esp + 0x50c], edx
test eax, eax
mov dword [esp + 0x510], eax
jne 0x100ac23b
mov ebx, 2
mov eax, dword [esp + ebx*4 + 0x504]
add ebx, 0xffffffff
test eax, eax
je 0x100a9c50
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5d0]
mov dword [esp + 0x8c], eax
lea ebp, [ebx + 2]
mov eax, dword [esp + 0x90]
mul dword [esp + 0x8c]
mov dword [esp + 0x620], eax
mov dword [esp + 0x61c], edx
mov eax, dword [esp + 0x620]
mov edx, dword [esp + 0x61c]
mov dword [esp + ebx*4 + 0x590], eax
mov eax, dword [esp + ebx*4 + 0x508]
mov dword [esp + ebx*4 + 0x58c], edx
mov dword [esp + 0x60c], eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + ebx*4 + 0x54c], 0
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x60c]
mul dword [esp + 0x610]
mov dword [esp + 0x618], eax
mov dword [esp + 0x614], edx
mov eax, dword [esp + ebx*4 + 0x58c]
add eax, dword [esp + 0x618]
cmp eax, dword [esp + 0x618]
mov dword [esp + ebx*4 + 0x58c], eax
mov ecx, 0
mov edx, ecx
adc edx, 0
add edx, dword [esp + 0x614]
mov dword [esp + ebx*4 + 0x588], edx
lea eax, [ebx - 1]
test eax, eax
mov dword [esp + ebx*4 + 0x548], ecx
jl 0x100a9d9f
cmp eax, 6
jl 0x100a9d88
xor edx, edx
mov dword [esp + eax*4 + 0x548], edx
mov dword [esp + eax*4 + 0x588], edx
mov dword [esp + eax*4 + 0x544], edx
mov dword [esp + eax*4 + 0x584], edx
mov dword [esp + eax*4 + 0x540], edx
mov dword [esp + eax*4 + 0x580], edx
mov dword [esp + eax*4 + 0x53c], edx
mov dword [esp + eax*4 + 0x57c], edx
mov dword [esp + eax*4 + 0x538], edx
mov dword [esp + eax*4 + 0x578], edx
add eax, 0xfffffffb
cmp eax, 6
jge 0x100a9d38
xor edx, edx
mov dword [esp + eax*4 + 0x548], edx
mov dword [esp + eax*4 + 0x588], edx
add eax, 0xffffffff
test eax, eax
jge 0x100a9d88
add ebx, 0xffffffff
je 0x100a9e89
mov dword [esp + 0x150], ebp
mov eax, ebx
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
shl eax, 2
mov dword [esp + 0x608], eax
mov ebp, 8
lea ecx, [eax + 8]
mov eax, dword [esp + ebx*4 + 0x508]
mov edx, dword [esp + ebp + 0x5c8]
mov dword [esp + 0x684], eax
mov dword [esp + 0x688], edx
mov eax, dword [esp + 0x684]
mul dword [esp + 0x688]
mov dword [esp + 0x690], eax
mov dword [esp + 0x68c], edx
mov eax, dword [esp + ecx + 0x588]
add eax, dword [esp + 0x690]
cmp eax, dword [esp + 0x690]
mov edx, dword [esp + ecx + 0x584]
mov dword [esp + ecx + 0x588], eax
mov esi, 0
adc esi, 0
mov edi, 0
add esi, dword [esp + 0x68c]
add edx, esi
cmp edx, esi
adc edi, 0
mov dword [esp + ecx + 0x584], edx
add dword [esp + ecx + 0x540], edi
add ecx, 0xfffffffc
add ebp, 0xfffffffc
jne 0x100a9dd1
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add ebx, 0xffffffff
jne 0x100a9dc2
mov ebp, dword [esp + 0x150]
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
add edi, dword [esp + 0x94]
mov eax, ebp
shl eax, 2
mov ecx, ebp
add ecx, 0xffffffff
mov edx, dword [esp + eax + 0x588]
mov dword [esp + eax + 0x508], edx
je 0x100a9ee9
mov dword [esp + 0x4f0], esi
xor ebx, ebx
mov edx, ecx
add ebx, dword [esp + edx*4 + 0x548]
mov esi, dword [esp + edx*4 + 0x588]
add esi, ebx
cmp esi, ebx
mov dword [esp + edx*4 + 0x508], esi
mov ebx, 0
adc ebx, 0
add edx, 0xffffffff
jne 0x100a9eb5
mov esi, dword [esp + 0x4f0]
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x100a9ef5
jmp 0x100abfc7
add ecx, 0xffffffff
mov eax, ecx
shl eax, 2
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x100a9ef2
jmp 0x100abfc5
mov eax, ebx
cmp eax, 0xfffffdea
jge 0x100aa562
cmp eax, 0xfffff000
jle 0x100a9f4d
mov edi, dword [esp + 0x1d4]
mov dword [esp + 0x4f0], esi
xor eax, eax
mov ebp, 3
mov dword [esp + 0x408], eax
mov esi, eax
mov eax, 0x1000
mov dword [esp + 0x1d8], eax
jmp 0x100aa524
mov edi, dword [esp + 0x1d4]
mov dword [esp + 0x4f0], esi
xor eax, eax
mov ebp, 3
mov dword [esp + 0x408], eax
mov esi, eax
mov eax, 0x1000
mov dword [esp + 0x1d8], eax
add ebx, dword [esp + 0x1d8]
test esi, esi
je 0x100aa4de
movsx edx, word [ebp*2 + 0x100c6b20]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x100c680c]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x100c6808]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x100c6804]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x100c6800]
mov dword [esp + 0x5d8], eax
mov dword [esp + 0x14c], edx
mov edx, dword [esp + esi*4 + 0x3c8]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
lea ecx, [esi + 3]
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x58]
mul dword [esp + 0x5c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x2b4]
mov dword [esp + eax*4 + 0x2cc], edx
mov edx, dword [esp + 0x60]
mov dword [esp + eax*4 + 0x2c8], edx
mov dword [esp + 0x1d4], edi
mov eax, 3
mov edi, eax
mov edx, dword [esp + esi*4 + 0x3c8]
mov dword [esp + ecx*4 + 0x308], 0
mov dword [esp + 0x40c], edx
mov edx, dword [esp + edi*4 + 0x5c8]
mov dword [esp + 0x410], edx
mov eax, dword [esp + 0x40c]
mul dword [esp + 0x410]
mov dword [esp + 0x418], eax
mov dword [esp + 0x414], edx
mov edx, dword [esp + ecx*4 + 0x2c8]
add edx, dword [esp + 0x418]
cmp edx, dword [esp + 0x418]
mov dword [esp + ecx*4 + 0x2c8], edx
mov edx, 0
adc edx, 0
add ecx, 0xffffffff
add edx, dword [esp + 0x414]
mov dword [esp + ecx*4 + 0x2c8], edx
add edi, 0xffffffff
jne 0x100aa02c
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x308], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x100aa12e
cmp ecx, 6
jl 0x100aa117
xor eax, eax
mov dword [esp + ecx*4 + 0x308], eax
mov dword [esp + ecx*4 + 0x2c8], eax
mov dword [esp + ecx*4 + 0x304], eax
mov dword [esp + ecx*4 + 0x2c4], eax
mov dword [esp + ecx*4 + 0x300], eax
mov dword [esp + ecx*4 + 0x2c0], eax
mov dword [esp + ecx*4 + 0x2fc], eax
mov dword [esp + ecx*4 + 0x2bc], eax
mov dword [esp + ecx*4 + 0x2f8], eax
mov dword [esp + ecx*4 + 0x2b8], eax
add ecx, 0xfffffffb
cmp ecx, 6
jge 0x100aa0c7
xor eax, eax
mov dword [esp + ecx*4 + 0x308], eax
mov dword [esp + ecx*4 + 0x2c8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x100aa117
add esi, 0xffffffff
je 0x100aa218
mov dword [esp + 0x608], ebp
mov eax, esi
mov dword [esp + 0x150], ebx
mov dword [esp + 0x1d4], edi
shl eax, 2
mov dword [esp + 0x4f4], eax
mov ebx, 0x10
lea ecx, [eax + 0x10]
mov eax, dword [esp + esi*4 + 0x3c8]
mov edx, dword [esp + ebx + 0x5c8]
mov dword [esp + 0x654], eax
mov dword [esp + 0x658], edx
mov eax, dword [esp + 0x654]
mul dword [esp + 0x658]
mov dword [esp + 0x660], eax
mov dword [esp + 0x65c], edx
mov eax, dword [esp + ecx + 0x2c8]
add eax, dword [esp + 0x660]
cmp eax, dword [esp + 0x660]
mov edx, dword [esp + ecx + 0x2c4]
mov dword [esp + ecx + 0x2c8], eax
mov ebp, 0
adc ebp, 0
mov edi, 0
add ebp, dword [esp + 0x65c]
add edx, ebp
cmp edx, ebp
adc edi, 0
mov dword [esp + ecx + 0x2c4], edx
add dword [esp + ecx + 0x300], edi
add ecx, 0xfffffffc
add ebx, 0xfffffffc
jne 0x100aa160
mov eax, dword [esp + 0x4f4]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x100aa151
mov ebp, dword [esp + 0x608]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x1d4]
add edi, dword [esp + 0x94]
mov esi, dword [esp + 0x14c]
mov edx, dword [esp + esi*4 + 0x2c8]
mov eax, dword [esp + 0x2b4]
mov dword [esp + esi*4 + 0x3c8], edx
test eax, eax
je 0x100aa27a
mov edx, esi
xor eax, eax
lea edx, [edx - 1]
add eax, dword [esp + edx*4 + 0x308]
mov ecx, dword [esp + edx*4 + 0x2c8]
add ecx, eax
cmp ecx, eax
mov dword [esp + edx*4 + 0x3c8], ecx
mov eax, 0
adc eax, 0
add edx, 0xffffffff
jne 0x100aa246
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x100aa28c
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x100aa27e
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x100aa376
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x100aa376
lea eax, [esi - 2]
cmp eax, 5
jb 0x100ac24c
mov dword [esp + 0x1d4], edi
mov edx, 2
lea eax, [esi - 5]
mov ecx, dword [esp + edx*4 + 0x3c8]
mov edi, dword [esp + edx*4 + 0x3cc]
shr ecx, 0x1f
shr edi, 0x1f
or dword [esp + edx*4 + 0x3c4], ecx
mov ecx, dword [esp + edx*4 + 0x3c8]
add ecx, ecx
or ecx, edi
mov edi, dword [esp + edx*4 + 0x3cc]
mov dword [esp + edx*4 + 0x3c8], ecx
mov ecx, dword [esp + edx*4 + 0x3d0]
add edi, edi
shr ecx, 0x1f
or edi, ecx
mov ecx, dword [esp + edx*4 + 0x3d4]
mov dword [esp + edx*4 + 0x3cc], edi
mov edi, dword [esp + edx*4 + 0x3d0]
add edi, edi
shr ecx, 0x1f
or edi, ecx
mov ecx, dword [esp + edx*4 + 0x3d4]
add ecx, ecx
mov dword [esp + edx*4 + 0x3d0], edi
mov dword [esp + edx*4 + 0x3d4], ecx
add edx, 4
cmp edx, eax
jbe 0x100aa2cb
mov edi, dword [esp + 0x1d4]
mov eax, dword [esp + edx*4 + 0x3c8]
mov ecx, dword [esp + edx*4 + 0x3c8]
shr eax, 0x1f
or dword [esp + edx*4 + 0x3c4], eax
add ecx, ecx
mov dword [esp + edx*4 + 0x3c8], ecx
add edx, 1
cmp edx, esi
jbe 0x100aa34e
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x100aa384
add esi, 0xffffffff
mov edx, dword [esp + 0x144]
mov eax, edx
shr eax, 5
mov dword [esp + 0x22c], eax
and edx, 0x1f
mov dword [esp + 0x4f4], edx
xor ecx, ecx
cmp ecx, edx
adc ecx, 0
mov dword [esp + 0x14c], ecx
lea eax, [eax + ecx]
cmp esi, eax
jb 0x100aa524
mov edx, ecx
mov esi, eax
test edx, edx
je 0x100aa3de
mov ecx, dword [esp + 0x4f4]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x2b4], edx
jmp 0x100aa3ef
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x2b4], edx
test eax, eax
je 0x100aa4cc
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x2b4]
add edx, ecx
mov dword [esp + 0x4f4], edx
cmp edx, ecx
jae 0x100aa47c
mov ecx, dword [esp + 0x14c]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x3c8], 0
lea esi, [eax + ecx - 1]
mov eax, dword [esp + esi*4 + 0x3c8]
cmp eax, 0xffffffff
jne 0x100aa451
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x100aa442
test esi, esi
je 0x100aa464
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x100aa524
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x100aa524
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x100aa4a8
mov edx, ecx
lea ecx, [edx + edx - 1]
mov edx, dword [esp + 0x4f4]
not ecx
and edx, ecx
mov dword [esp + 0x4f4], edx
mov dword [esp + eax*4 + 0x3c8], edx
jmp 0x100aa4b6
mov edx, dword [esp + 0x4f4]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x100aa524
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x100aa4bc
jmp 0x100aa524
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x100aa524
movsx edi, word [ebp*2 + 0x100c6b20]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x100c680c]
mov edx, dword [esi + 0x100c6808]
mov ecx, dword [esi + 0x100c6804]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x100c6800]
mov esi, 4
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3d8], eax
mov edx, dword [esp + 0x1d8]
sar edx, 1
add ebp, 0xffffffff
test ebp, ebp
jl 0x100aa548
mov eax, edx
neg eax
cmp ebx, eax
jg 0x100aa52b
mov dword [esp + 0x1d8], edx
jmp 0x100a9f77
mov dword [esp + 0x408], esi
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x1d4], edi
jmp 0x100aaba7
cmp eax, 0x216
jle 0x100aab9e
cmp eax, 0x1000
jge 0x100aa5a3
mov edi, dword [esp + 0x1d4]
mov dword [esp + 0x4f0], esi
xor eax, eax
mov ebp, 3
mov dword [esp + 0x408], eax
mov esi, eax
mov eax, 0x1000
mov dword [esp + 0x1d8], eax
jmp 0x100aab7a
mov edi, dword [esp + 0x1d4]
mov dword [esp + 0x4f0], esi
xor eax, eax
mov ebp, 3
mov dword [esp + 0x408], eax
mov esi, eax
mov eax, 0x1000
mov dword [esp + 0x1d8], eax
sub ebx, dword [esp + 0x1d8]
test esi, esi
je 0x100aab34
movsx edx, word [ebp*2 + 0x100c6b3c]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x100c698c]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x100c6988]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x100c6984]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x100c6980]
mov dword [esp + 0x5d8], eax
mov dword [esp + 0x2b4], edx
mov edx, dword [esp + esi*4 + 0x3c8]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
lea ecx, [esi + 3]
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x38]
mul dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x14c]
mov dword [esp + eax*4 + 0x158], edx
mov edx, dword [esp + 0x40]
mov dword [esp + eax*4 + 0x154], edx
mov dword [esp + 0x1d4], edi
mov eax, 3
mov edi, eax
mov edx, dword [esp + esi*4 + 0x3c8]
mov dword [esp + ecx*4 + 0x194], 0
mov dword [esp + 0x1dc], edx
mov edx, dword [esp + edi*4 + 0x5c8]
mov dword [esp + 0x1e0], edx
mov eax, dword [esp + 0x1dc]
mul dword [esp + 0x1e0]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1e4], edx
mov edx, dword [esp + ecx*4 + 0x154]
add edx, dword [esp + 0x1e8]
cmp edx, dword [esp + 0x1e8]
mov dword [esp + ecx*4 + 0x154], edx
mov edx, 0
adc edx, 0
add ecx, 0xffffffff
add edx, dword [esp + 0x1e4]
mov dword [esp + ecx*4 + 0x154], edx
add edi, 0xffffffff
jne 0x100aa682
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x194], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x100aa784
cmp ecx, 6
jl 0x100aa76d
xor eax, eax
mov dword [esp + ecx*4 + 0x194], eax
mov dword [esp + ecx*4 + 0x154], eax
mov dword [esp + ecx*4 + 0x190], eax
mov dword [esp + ecx*4 + 0x150], eax
mov dword [esp + ecx*4 + 0x18c], eax
mov dword [esp + ecx*4 + 0x14c], eax
mov dword [esp + ecx*4 + 0x188], eax
mov dword [esp + ecx*4 + 0x148], eax
mov dword [esp + ecx*4 + 0x184], eax
mov dword [esp + ecx*4 + 0x144], eax
add ecx, 0xfffffffb
cmp ecx, 6
jge 0x100aa71d
xor eax, eax
mov dword [esp + ecx*4 + 0x194], eax
mov dword [esp + ecx*4 + 0x154], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x100aa76d
add esi, 0xffffffff
je 0x100aa86e
mov dword [esp + 0x4f4], ebp
mov eax, esi
mov dword [esp + 0x150], ebx
mov dword [esp + 0x1d4], edi
shl eax, 2
mov dword [esp + 0x608], eax
mov ebx, 0x10
lea ecx, [eax + 0x10]
mov eax, dword [esp + esi*4 + 0x3c8]
mov edx, dword [esp + ebx + 0x5c8]
mov dword [esp + 0x634], eax
mov dword [esp + 0x638], edx
mov eax, dword [esp + 0x634]
mul dword [esp + 0x638]
mov dword [esp + 0x640], eax
mov dword [esp + 0x63c], edx
mov eax, dword [esp + ecx + 0x154]
add eax, dword [esp + 0x640]
cmp eax, dword [esp + 0x640]
mov edx, dword [esp + ecx + 0x150]
mov dword [esp + ecx + 0x154], eax
mov ebp, 0
adc ebp, 0
mov edi, 0
add ebp, dword [esp + 0x63c]
add edx, ebp
cmp edx, ebp
adc edi, 0
mov dword [esp + ecx + 0x150], edx
add dword [esp + ecx + 0x18c], edi
add ecx, 0xfffffffc
add ebx, 0xfffffffc
jne 0x100aa7b6
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x100aa7a7
mov ebp, dword [esp + 0x4f4]
mov ebx, dword [esp + 0x150]
mov edi, dword [esp + 0x1d4]
add edi, dword [esp + 0x94]
mov esi, dword [esp + 0x2b4]
mov edx, dword [esp + esi*4 + 0x154]
mov eax, dword [esp + 0x14c]
mov dword [esp + esi*4 + 0x3c8], edx
test eax, eax
je 0x100aa8d0
mov edx, esi
xor eax, eax
lea edx, [edx - 1]
add eax, dword [esp + edx*4 + 0x194]
mov ecx, dword [esp + edx*4 + 0x154]
add ecx, eax
cmp ecx, eax
mov dword [esp + edx*4 + 0x3c8], ecx
mov eax, 0
adc eax, 0
add edx, 0xffffffff
jne 0x100aa89c
mov eax, dword [esp + 0x2b4]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x100aa8e2
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x100aa8d4
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x100aa9cc
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x100aa9cc
lea eax, [esi - 2]
cmp eax, 5
jb 0x100ac256
mov dword [esp + 0x1d4], edi
mov edx, 2
lea eax, [esi - 5]
mov ecx, dword [esp + edx*4 + 0x3c8]
mov edi, dword [esp + edx*4 + 0x3cc]
shr ecx, 0x1f
shr edi, 0x1f
or dword [esp + edx*4 + 0x3c4], ecx
mov ecx, dword [esp + edx*4 + 0x3c8]
add ecx, ecx
or ecx, edi
mov edi, dword [esp + edx*4 + 0x3cc]
mov dword [esp + edx*4 + 0x3c8], ecx
mov ecx, dword [esp + edx*4 + 0x3d0]
add edi, edi
shr ecx, 0x1f
or edi, ecx
mov ecx, dword [esp + edx*4 + 0x3d4]
mov dword [esp + edx*4 + 0x3cc], edi
mov edi, dword [esp + edx*4 + 0x3d0]
add edi, edi
shr ecx, 0x1f
or edi, ecx
mov ecx, dword [esp + edx*4 + 0x3d4]
add ecx, ecx
mov dword [esp + edx*4 + 0x3d0], edi
mov dword [esp + edx*4 + 0x3d4], ecx
add edx, 4
cmp edx, eax
jbe 0x100aa921
mov edi, dword [esp + 0x1d4]
mov eax, dword [esp + edx*4 + 0x3c8]
mov ecx, dword [esp + edx*4 + 0x3c8]
shr eax, 0x1f
or dword [esp + edx*4 + 0x3c4], eax
add ecx, ecx
mov dword [esp + edx*4 + 0x3c8], ecx
add edx, 1
cmp edx, esi
jbe 0x100aa9a4
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x100aa9da
add esi, 0xffffffff
mov edx, dword [esp + 0x144]
mov eax, edx
shr eax, 5
mov dword [esp + 0x2b4], eax
and edx, 0x1f
mov dword [esp + 0x230], edx
xor ecx, ecx
cmp ecx, edx
adc ecx, 0
mov dword [esp + 0x608], ecx
lea eax, [eax + ecx]
cmp esi, eax
jb 0x100aab7a
mov edx, ecx
mov esi, eax
test edx, edx
je 0x100aaa34
mov ecx, dword [esp + 0x230]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x22c], edx
jmp 0x100aaa45
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x22c], edx
test eax, eax
je 0x100aab22
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x22c]
add edx, ecx
mov dword [esp + 0x230], edx
cmp edx, ecx
jae 0x100aaad2
mov ecx, dword [esp + 0x608]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x3c8], 0
lea esi, [eax + ecx - 1]
mov eax, dword [esp + esi*4 + 0x3c8]
cmp eax, 0xffffffff
jne 0x100aaaa7
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x100aaa98
test esi, esi
je 0x100aaaba
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x100aab7a
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x100aab7a
mov edx, dword [esp + 0x608]
test edx, edx
je 0x100aaafe
mov edx, ecx
lea ecx, [edx + edx - 1]
mov edx, dword [esp + 0x230]
not ecx
and edx, ecx
mov dword [esp + 0x230], edx
mov dword [esp + eax*4 + 0x3c8], edx
jmp 0x100aab0c
mov edx, dword [esp + 0x230]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x100aab7a
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x100aab12
jmp 0x100aab7a
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x100aab7a
movsx edi, word [ebp*2 + 0x100c6b3c]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x100c698c]
mov edx, dword [esi + 0x100c6988]
mov ecx, dword [esi + 0x100c6984]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x100c6980]
mov esi, 4
mov dword [esp + 0x3d0], edx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x1d8]
sar eax, 1
add ebp, 0xffffffff
test ebp, ebp
jl 0x100aa548
cmp ebx, eax
jl 0x100aab81
mov dword [esp + 0x1d8], eax
jmp 0x100aa5cd
xor eax, eax
mov dword [esp + 0x408], eax
cmp ebx, 0xffffffe5
jl 0x100ab1dc
test ebx, ebx
jge 0x100ab13d
movsx edi, word [ebx*2 + 0x100c6b1e]
shl ebx, 4
mov eax, dword [ebx + 0x100c67fc]
mov edx, dword [ebx + 0x100c67f8]
mov ebp, dword [ebx + 0x100c67f4]
mov ebx, dword [ebx + 0x100c67f0]
mov dword [esp + 0x50c], eax
test ebx, ebx
mov dword [esp + 0x510], edx
mov dword [esp + 0x514], ebp
mov dword [esp + 0x518], ebx
jne 0x100ac549
mov ebp, 4
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100aac04
mov eax, dword [esp + 0x408]
test eax, eax
je 0x100aae79
mov dword [esp + 0x74], edx
mov edx, dword [esp + eax*4 + 0x3c8]
lea ebx, [eax + ebp]
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x70], edx
lea ebx, [eax + ebp - 1]
mov eax, dword [esp + 0x74]
mul dword [esp + 0x70]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ecx, ebx
shl ecx, 2
mov dword [esp + 0x608], ecx
mov dword [esp + ecx + 0x38c], eax
mov eax, dword [esp + 0x408]
mov dword [esp + ecx + 0x388], edx
add eax, 0xffffffff
je 0x100aad17
mov eax, dword [esp + 0x408]
lea ecx, [eax - 1]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ecx*4 + 0x3c8]
mov dword [esp + ebx*4 + 0x348], 0
mov dword [esp + 0x41c], eax
mov dword [esp + 0x420], edx
mov eax, dword [esp + 0x41c]
mul dword [esp + 0x420]
mov dword [esp + 0x428], eax
mov dword [esp + 0x424], edx
mov eax, dword [esp + ebx*4 + 0x388]
add eax, dword [esp + 0x428]
cmp eax, dword [esp + 0x428]
mov dword [esp + ebx*4 + 0x388], eax
mov edx, 0
adc edx, 0
add ebx, 0xffffffff
mov eax, ebx
shl eax, 2
add edx, dword [esp + 0x424]
mov dword [esp + eax + 0x388], edx
add ecx, 0xffffffff
jne 0x100aac8a
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x348], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x100aad9c
cmp ebx, 6
jl 0x100aad85
xor eax, eax
mov dword [esp + ebx*4 + 0x348], eax
mov dword [esp + ebx*4 + 0x388], eax
mov dword [esp + ebx*4 + 0x344], eax
mov dword [esp + ebx*4 + 0x384], eax
mov dword [esp + ebx*4 + 0x340], eax
mov dword [esp + ebx*4 + 0x380], eax
mov dword [esp + ebx*4 + 0x33c], eax
mov dword [esp + ebx*4 + 0x37c], eax
mov dword [esp + ebx*4 + 0x338], eax
mov dword [esp + ebx*4 + 0x378], eax
add ebx, 0xfffffffb
cmp ebx, 6
jge 0x100aad35
xor eax, eax
mov dword [esp + ebx*4 + 0x348], eax
mov dword [esp + ebx*4 + 0x388], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x100aad85
add ebp, 0xffffffff
je 0x100ac26e
mov edx, dword [esp + 0x408]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x100ac519
mov eax, ebp
shl eax, 2
mov ebx, esi
shl ebx, 2
lea ecx, [eax + esi*4]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ebx + 0x3c8]
mov dword [esp + 0x664], eax
mov dword [esp + 0x668], edx
mov eax, dword [esp + 0x664]
mul dword [esp + 0x668]
mov dword [esp + 0x670], eax
mov dword [esp + 0x66c], edx
mov eax, dword [esp + ecx + 0x388]
add eax, dword [esp + 0x670]
cmp eax, dword [esp + 0x670]
mov edx, dword [esp + ecx + 0x384]
mov dword [esp + ecx + 0x388], eax
mov edi, 0
adc edi, 0
mov eax, 0
add ebx, 0xfffffffc
add edi, dword [esp + 0x66c]
add edx, edi
cmp edx, edi
adc eax, 0
mov dword [esp + ecx + 0x384], edx
add dword [esp + ecx + 0x340], eax
add ecx, 0xfffffffc
add esi, 0xffffffff
jne 0x100aadd1
mov edx, dword [esp + 0x408]
add ebp, 0xffffffff
jne 0x100aadba
jmp 0x100ac260
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x118], eax
mov ecx, ebp
mov dword [esp + 0x11c], edx
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x118]
mul dword [esp + 0x11c]
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], edx
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov dword [esp + ebp*4 + 0xdc], eax
mov eax, ebp
add eax, 0xffffffff
mov dword [esp + ebp*4 + 0xd8], edx
je 0x100ac53f
mov dword [esp + 0x608], ebx
lea eax, [ebp - 1]
mov ebx, eax
mov edx, dword [esp + 0x1f0]
mov dword [esp + ecx*4 + 0x98], 0
mov dword [esp + 0x624], edx
mov edx, dword [esp + ebx*4 + 0x508]
mov dword [esp + 0x628], edx
mov eax, dword [esp + 0x624]
mul dword [esp + 0x628]
mov dword [esp + 0x630], eax
mov dword [esp + 0x62c], edx
mov edx, dword [esp + ecx*4 + 0xd8]
add edx, dword [esp + 0x630]
cmp edx, dword [esp + 0x630]
mov dword [esp + ecx*4 + 0xd8], edx
mov edx, 0
adc edx, 0
add ecx, 0xffffffff
mov eax, ecx
shl eax, 2
add edx, dword [esp + 0x62c]
mov dword [esp + eax + 0xd8], edx
add ebx, 0xffffffff
jne 0x100aaee2
mov ebx, dword [esp + 0x608]
mov dword [esp + eax + 0x98], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x100aafed
cmp ecx, 6
jl 0x100aafd6
xor eax, eax
mov dword [esp + ecx*4 + 0x98], eax
mov dword [esp + ecx*4 + 0xd8], eax
mov dword [esp + ecx*4 + 0x94], eax
mov dword [esp + ecx*4 + 0xd4], eax
mov dword [esp + ecx*4 + 0x90], eax
mov dword [esp + ecx*4 + 0xd0], eax
mov dword [esp + ecx*4 + 0x8c], eax
mov dword [esp + ecx*4 + 0xcc], eax
mov dword [esp + ecx*4 + 0x88], eax
mov dword [esp + ecx*4 + 0xc8], eax
add ecx, 0xfffffffb
cmp ecx, 6
jge 0x100aaf86
xor eax, eax
mov dword [esp + ecx*4 + 0x98], eax
mov dword [esp + ecx*4 + 0xd8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x100aafd6
add esi, edi
mov eax, ebx
shl eax, 2
mov edx, dword [esp + eax + 0xd8]
test ebp, ebp
mov dword [esp + eax + 0x1ec], edx
je 0x100ab038
xor ebp, ebp
lea edx, [ebx - 1]
add ebp, dword [esp + edx*4 + 0x98]
mov edi, dword [esp + edx*4 + 0xd8]
add edi, ebp
cmp edi, ebp
mov dword [esp + edx*4 + 0x1ec], edi
mov ebp, 0
adc ebp, 0
add edx, 0xffffffff
jne 0x100ab00b
mov edx, dword [esp + eax + 0x1ec]
test edx, edx
jne 0x100ab04a
add ebx, 0xffffffff
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
je 0x100ab03c
mov eax, dword [esp + 0x1f0]
test eax, eax
jle 0x100ab126
add eax, eax
mov dword [esp + 0x1f0], eax
add esi, 0xffffffff
cmp ebx, 2
jb 0x100ab126
lea eax, [ebx - 2]
cmp eax, 5
jb 0x100ac535
mov edx, 2
lea eax, [ebx - 5]
mov ebp, dword [esp + edx*4 + 0x1ec]
mov edi, dword [esp + edx*4 + 0x1f0]
shr ebp, 0x1f
shr edi, 0x1f
or dword [esp + edx*4 + 0x1e8], ebp
mov ebp, dword [esp + edx*4 + 0x1ec]
add ebp, ebp
or ebp, edi
mov edi, dword [esp + edx*4 + 0x1f0]
mov dword [esp + edx*4 + 0x1ec], ebp
mov ebp, dword [esp + edx*4 + 0x1f4]
add edi, edi
shr ebp, 0x1f
or edi, ebp
mov ebp, dword [esp + edx*4 + 0x1f8]
mov dword [esp + edx*4 + 0x1f0], edi
mov edi, dword [esp + edx*4 + 0x1f4]
add edi, edi
shr ebp, 0x1f
or edi, ebp
mov ebp, dword [esp + edx*4 + 0x1f8]
add ebp, ebp
mov dword [esp + edx*4 + 0x1f4], edi
mov dword [esp + edx*4 + 0x1f8], ebp
add edx, 4
cmp edx, eax
jbe 0x100ab082
mov eax, dword [esp + edx*4 + 0x1ec]
mov ebp, dword [esp + edx*4 + 0x1ec]
shr eax, 0x1f
or dword [esp + edx*4 + 0x1e8], eax
add ebp, ebp
mov dword [esp + edx*4 + 0x1ec], ebp
add edx, 1
cmp edx, ebx
jbe 0x100ab0fe
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
jne 0x100a963a
add ebx, 0xffffffff
jmp 0x100a963a
jl 0x100ab1dc
cmp ebx, 0x37
jl 0x100ab1ce
mov edx, ebx
sar edx, 3
lea ebp, [edx + edx]
movzx eax, word [ebp + 0x100c6a62]
shr eax, 5
cmp eax, ebx
jg 0x100ab166
lea ebp, [edx + edx + 2]
movzx edx, word [ebp + 0x100c6a60]
mov eax, edx
and eax, 0x1f
movsx ebp, word [eax*2 + 0x100c6b44]
shr edx, 5
sub ebx, edx
mov dword [esp + 0x94], ebp
shl eax, 4
mov edi, dword [eax + 0x100c69cc]
mov edx, dword [eax + 0x100c69c8]
mov dword [esp + 0x5cc], edi
mov dword [esp + 0x5d0], edx
mov edx, dword [eax + 0x100c69c4]
mov eax, dword [eax + 0x100c69c0]
mov dword [esp + 0x5d4], edx
mov dword [esp + 0x5d8], eax
mov eax, 4
mov dword [esp + 0x2b4], eax
jmp 0x100ab25a
xor eax, eax
mov dword [esp + 0x2b4], eax
jmp 0x100ab25a
mov edx, ebx
neg edx
mov ebp, edx
sar ebp, 3
movzx eax, word [ebp*2 + 0x100c68e0]
mov edi, eax
shr edi, 5
cmp edi, edx
jge 0x100ab203
movzx eax, word [ebp*2 + 0x100c68e2]
mov edi, eax
shr edi, 5
and eax, 0x1f
movsx edx, word [eax*2 + 0x100c6b28]
mov dword [esp + 0x94], edx
add ebx, edi
shl eax, 4
mov ebp, dword [eax + 0x100c684c]
mov edi, dword [eax + 0x100c6848]
mov edx, dword [eax + 0x100c6844]
mov eax, dword [eax + 0x100c6840]
mov dword [esp + 0x5cc], ebp
mov dword [esp + 0x5d0], edi
mov dword [esp + 0x5d4], edx
mov dword [esp + 0x5d8], eax
mov eax, 4
mov dword [esp + 0x2b4], eax
cmp ebx, 0x37
je 0x100ac5ae
lea eax, [ebx - 0x1b]
test eax, eax
jle 0x100ab2c3
movsx edx, word [eax*2 + 0x100c5bfe]
mov ebx, dword [eax*8 + 0x100c5a1c]
mov ebp, dword [eax*8 + 0x100c5a18]
mov dword [esp + 0x88], edx
test ebp, ebp
mov dword [esp + 0x430], ebx
mov dword [esp + 0x434], ebp
jne 0x100ac598
mov edx, 2
mov dword [esp + 0x4ec], edx
add edx, 0xffffffff
mov ebx, dword [esp + edx*4 + 0x42c]
test ebx, ebx
je 0x100ab2a9
mov dword [esp + 0x4ec], edx
mov ebx, 0x1b
movsx edi, word [ebx*2 + 0x100c5bfe]
mov edx, dword [ebx*8 + 0x100c5a1c]
mov ebx, dword [ebx*8 + 0x100c5a18]
mov dword [esp + 0x50c], edx
test ebx, ebx
mov dword [esp + 0x510], ebx
jne 0x100ac587
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100ab2f4
test eax, eax
jle 0x100ab810
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x78], edx
mov edx, dword [esp + eax*4 + 0x42c]
lea ebx, [eax + ebp]
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x7c], edx
lea ebx, [eax + ebp - 1]
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x78]
mul dword [esp + 0x7c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x80]
mov dword [esp + ecx*4 + 0x470], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + ecx*4 + 0x46c], edx
add eax, 0xffffffff
je 0x100ac57d
mov eax, dword [esp + 0x4ec]
lea ecx, [eax - 1]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ecx*4 + 0x42c]
mov dword [esp + ebx*4 + 0x4ac], 0
mov dword [esp + 0x4f8], eax
mov dword [esp + 0x4fc], edx
mov eax, dword [esp + 0x4f8]
mul dword [esp + 0x4fc]
mov dword [esp + 0x504], eax
mov dword [esp + 0x500], edx
mov eax, dword [esp + ebx*4 + 0x46c]
add eax, dword [esp + 0x504]
cmp eax, dword [esp + 0x504]
mov dword [esp + ebx*4 + 0x46c], eax
mov edx, 0
adc edx, 0
add ebx, 0xffffffff
mov eax, ebx
shl eax, 2
add edx, dword [esp + 0x500]
mov dword [esp + eax + 0x46c], edx
add ecx, 0xffffffff
jne 0x100ab388
mov dword [esp + eax + 0x4ac], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x100ab48c
cmp ebx, 6
jl 0x100ab475
xor eax, eax
mov dword [esp + ebx*4 + 0x4ac], eax
mov dword [esp + ebx*4 + 0x46c], eax
mov dword [esp + ebx*4 + 0x4a8], eax
mov dword [esp + ebx*4 + 0x468], eax
mov dword [esp + ebx*4 + 0x4a4], eax
mov dword [esp + ebx*4 + 0x464], eax
mov dword [esp + ebx*4 + 0x4a0], eax
mov dword [esp + ebx*4 + 0x460], eax
mov dword [esp + ebx*4 + 0x49c], eax
mov dword [esp + ebx*4 + 0x45c], eax
add ebx, 0xfffffffb
cmp ebx, 6
jge 0x100ab425
xor eax, eax
mov dword [esp + ebx*4 + 0x4ac], eax
mov dword [esp + ebx*4 + 0x46c], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x100ab475
add ebp, 0xffffffff
je 0x100ab580
mov edx, dword [esp + 0x4ec]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x100ac55a
mov dword [esp + 0x4ec], edx
mov eax, ebp
shl eax, 2
mov ebx, esi
shl ebx, 2
lea ecx, [eax + esi*4]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ebx + 0x42c]
mov dword [esp + 0x674], eax
mov dword [esp + 0x678], edx
mov eax, dword [esp + 0x674]
mul dword [esp + 0x678]
mov dword [esp + 0x680], eax
mov dword [esp + 0x67c], edx
mov eax, dword [esp + ecx + 0x46c]
add eax, dword [esp + 0x680]
cmp eax, dword [esp + 0x680]
mov edx, dword [esp + ecx + 0x468]
mov dword [esp + ecx + 0x46c], eax
mov edi, 0
adc edi, 0
mov eax, 0
add ebx, 0xfffffffc
add edi, dword [esp + 0x67c]
add edx, edi
cmp edx, edi
adc eax, 0
mov dword [esp + ecx + 0x468], edx
add dword [esp + ecx + 0x4a4], eax
add ecx, 0xfffffffc
add esi, 0xffffffff
jne 0x100ab4c8
mov edx, dword [esp + 0x4ec]
add ebp, 0xffffffff
jne 0x100ab4aa
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x4ec], edx
add edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x1d8]
mov edx, dword [esp + ebp*4 + 0x46c]
mov eax, dword [esp + 0x14c]
mov dword [esp + ebp*4 + 0x508], edx
test eax, eax
je 0x100ab5e2
mov eax, ebp
xor edx, edx
lea eax, [eax - 1]
add edx, dword [esp + eax*4 + 0x4ac]
mov ebx, dword [esp + eax*4 + 0x46c]
add ebx, edx
cmp ebx, edx
mov dword [esp + eax*4 + 0x508], ebx
mov edx, 0
adc edx, 0
add eax, 0xffffffff
jne 0x100ab5ae
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + eax*4 + 0x508]
test edx, edx
jne 0x100ab5f4
add ebp, 0xffffffff
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
je 0x100ab5e6
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x100ab6d0
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x100ab6d0
lea eax, [ebp - 2]
cmp eax, 5
jb 0x100abd7b
mov edx, 2
lea eax, [ebp - 5]
mov ebx, dword [esp + edx*4 + 0x508]
mov ecx, dword [esp + edx*4 + 0x508]
shr ebx, 0x1f
or dword [esp + edx*4 + 0x504], ebx
mov ebx, dword [esp + edx*4 + 0x50c]
add ecx, ecx
shr ebx, 0x1f
or ecx, ebx
mov ebx, dword [esp + edx*4 + 0x510]
mov dword [esp + edx*4 + 0x508], ecx
mov ecx, dword [esp + edx*4 + 0x50c]
add ecx, ecx
shr ebx, 0x1f
or ecx, ebx
mov ebx, dword [esp + edx*4 + 0x514]
shr ebx, 0x1f
mov dword [esp + edx*4 + 0x50c], ecx
mov ecx, dword [esp + edx*4 + 0x510]
add ecx, ecx
or ecx, ebx
mov ebx, dword [esp + edx*4 + 0x514]
mov dword [esp + edx*4 + 0x510], ecx
add ebx, ebx
mov dword [esp + edx*4 + 0x514], ebx
add edx, 4
cmp edx, eax
jbe 0x100ab62c
mov eax, dword [esp + edx*4 + 0x508]
mov ebx, dword [esp + edx*4 + 0x508]
shr eax, 0x1f
or dword [esp + edx*4 + 0x504], eax
add ebx, ebx
mov dword [esp + edx*4 + 0x508], ebx
add edx, 1
cmp edx, ebp
jbe 0x100ab6a8
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
jne 0x100ab6de
add ebp, 0xffffffff
mov ecx, dword [esp + 0x144]
mov ebx, ecx
shr ebx, 5
and ecx, 0x1f
xor eax, eax
cmp eax, ecx
adc eax, 0
mov dword [esp + 0x14c], eax
lea eax, [ebx + eax]
cmp ebp, eax
jb 0x100ab809
mov edx, dword [esp + 0x14c]
mov ebp, eax
test edx, edx
je 0x100ab728
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x100ab739
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x100ab7f0
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x100ab7b7
mov dword [esp + eax*4 + 0x508], edx
mov eax, dword [esp + 0x14c]
lea ebp, [ebx + eax - 1]
mov dword [esp + 0x508], 0
mov edx, dword [esp + ebp*4 + 0x508]
cmp edx, 0xffffffff
jne 0x100ab78d
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x100ab77e
test ebp, ebp
je 0x100ab79d
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x100ab810
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x100ab810
mov ebx, dword [esp + 0x14c]
test ebx, ebx
je 0x100ab7d5
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x100ab7dc
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x100ab810
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100ab7e0
jmp 0x100ab810
mov ebp, edx
add edi, ebp
mov eax, ebp
shl eax, 0x1f
mov dword [esp + 0x50c], eax
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x100ab810
mov edx, dword [esp + ebp*4 + 0x508]
mov eax, dword [esp + 0x2b4]
test eax, eax
je 0x100aac12
mov dword [esp + 0x48], edx
mov edx, dword [esp + eax*4 + 0x5c8]
lea ebx, [ebp + eax]
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x4c], edx
lea ebx, [ebp + eax - 1]
mov eax, dword [esp + 0x48]
mul dword [esp + 0x4c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ecx, ebx
shl ecx, 2
mov dword [esp + 0x608], ecx
mov dword [esp + ecx + 0x238], eax
mov eax, dword [esp + 0x2b4]
mov dword [esp + ecx + 0x234], edx
add eax, 0xffffffff
je 0x100ab916
mov eax, dword [esp + 0x2b4]
lea ecx, [eax - 1]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ecx*4 + 0x5c8]
mov dword [esp + ebx*4 + 0x274], 0
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], edx
mov eax, dword [esp + 0x2b8]
mul dword [esp + 0x2bc]
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c0], edx
mov eax, dword [esp + ebx*4 + 0x234]
add eax, dword [esp + 0x2c4]
cmp eax, dword [esp + 0x2c4]
mov dword [esp + ebx*4 + 0x234], eax
mov edx, 0
adc edx, 0
add ebx, 0xffffffff
mov eax, ebx
shl eax, 2
add edx, dword [esp + 0x2c0]
mov dword [esp + eax + 0x234], edx
add ecx, 0xffffffff
jne 0x100ab889
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x274], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x100ab99b
cmp ebx, 6
jl 0x100ab984
xor eax, eax
mov dword [esp + ebx*4 + 0x274], eax
mov dword [esp + ebx*4 + 0x234], eax
mov dword [esp + ebx*4 + 0x270], eax
mov dword [esp + ebx*4 + 0x230], eax
mov dword [esp + ebx*4 + 0x26c], eax
mov dword [esp + ebx*4 + 0x22c], eax
mov dword [esp + ebx*4 + 0x268], eax
mov dword [esp + ebx*4 + 0x228], eax
mov dword [esp + ebx*4 + 0x264], eax
mov dword [esp + ebx*4 + 0x224], eax
add ebx, 0xfffffffb
cmp ebx, 6
jge 0x100ab934
xor eax, eax
mov dword [esp + ebx*4 + 0x274], eax
mov dword [esp + ebx*4 + 0x234], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x100ab984
add ebp, 0xffffffff
je 0x100aba81
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x100abd5f
mov eax, ebp
shl eax, 2
mov ebx, esi
shl ebx, 2
lea ecx, [eax + esi*4]
mov eax, dword [esp + ebp*4 + 0x508]
mov edx, dword [esp + ebx + 0x5c8]
mov dword [esp + 0x644], eax
mov dword [esp + 0x648], edx
mov eax, dword [esp + 0x644]
mul dword [esp + 0x648]
mov dword [esp + 0x650], eax
mov dword [esp + 0x64c], edx
mov eax, dword [esp + ecx + 0x234]
add eax, dword [esp + 0x650]
cmp eax, dword [esp + 0x650]
mov edx, dword [esp + ecx + 0x230]
mov dword [esp + ecx + 0x234], eax
mov edi, 0
adc edi, 0
mov eax, 0
add ebx, 0xfffffffc
add edi, dword [esp + 0x64c]
add edx, edi
cmp edx, edi
adc eax, 0
mov dword [esp + ecx + 0x230], edx
add dword [esp + ecx + 0x26c], eax
add ecx, 0xfffffffc
add esi, 0xffffffff
jne 0x100ab9d0
mov edx, dword [esp + 0x2b4]
add ebp, 0xffffffff
jne 0x100ab9b9
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
add edi, dword [esp + 0x94]
mov eax, dword [esp + 0x14c]
mov ebp, eax
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x234]
mov dword [esp + ebx + 0x508], edx
add eax, 0xffffffff
mov dword [esp + 0x14c], eax
je 0x100abae1
mov edx, eax
xor eax, eax
add eax, dword [esp + edx*4 + 0x274]
mov ecx, dword [esp + edx*4 + 0x234]
add ecx, eax
cmp ecx, eax
mov dword [esp + edx*4 + 0x508], ecx
mov eax, 0
adc eax, 0
add edx, 0xffffffff
jne 0x100abab4
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x100abb0a
mov eax, dword [esp + 0x14c]
jmp 0x100abaf1
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x100abaee
mov dword [esp + 0x14c], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x100abc02
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x100abd53
lea eax, [ebp - 2]
cmp eax, 5
jb 0x100abd49
mov dword [esp + 0x4f0], esi
mov edx, 2
lea eax, [ebp - 5]
mov ecx, dword [esp + edx*4 + 0x508]
mov esi, dword [esp + edx*4 + 0x50c]
shr ecx, 0x1f
shr esi, 0x1f
or dword [esp + edx*4 + 0x504], ecx
mov ecx, dword [esp + edx*4 + 0x508]
add ecx, ecx
or ecx, esi
mov esi, dword [esp + edx*4 + 0x50c]
mov dword [esp + edx*4 + 0x508], ecx
mov ecx, dword [esp + edx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + edx*4 + 0x514]
mov dword [esp + edx*4 + 0x50c], esi
mov esi, dword [esp + edx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + edx*4 + 0x514]
add ecx, ecx
mov dword [esp + edx*4 + 0x510], esi
mov dword [esp + edx*4 + 0x514], ecx
add edx, 4
cmp edx, eax
jbe 0x100abb49
mov esi, dword [esp + 0x4f0]
mov eax, dword [esp + edx*4 + 0x508]
shr eax, 0x1f
or dword [esp + edx*4 + 0x504], eax
mov eax, dword [esp + edx*4 + 0x508]
add eax, eax
mov dword [esp + edx*4 + 0x508], eax
add edx, 1
cmp edx, ebp
jbe 0x100abbcc
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x100abc02
add ebp, 0xffffffff
mov ecx, dword [esp + 0x144]
mov ebx, ecx
shr ebx, 5
and ecx, 0x1f
xor eax, eax
cmp eax, ecx
adc eax, 0
mov dword [esp + 0x2b4], eax
lea eax, [ebx + eax]
cmp ebp, eax
jb 0x100abd3d
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x100abc4c
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x100abc5d
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x100abd21
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x100abce1
mov dword [esp + eax*4 + 0x508], edx
mov eax, dword [esp + 0x2b4]
lea ebp, [ebx + eax - 1]
mov dword [esp + 0x508], 0
mov edx, dword [esp + ebp*4 + 0x508]
cmp edx, 0xffffffff
jne 0x100abcb1
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x100abca2
test ebp, ebp
je 0x100abcc4
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x100aac12
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x100aac12
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x100abcff
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x100abd06
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x100aac12
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100abd0e
jmp 0x100aac12
mov ebp, edx
add edi, ebp
mov eax, ebp
shl eax, 0x1f
mov dword [esp + 0x50c], eax
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x100aac12
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x100aac12
mov edx, 2
jmp 0x100abbcc
mov eax, dword [esp + ebx + 0x508]
jmp 0x100abbfb
add ebp, 0xffffffff
jne 0x100ab9b9
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x100aba81
mov edx, 2
jmp 0x100ab6a8
xor eax, eax
jmp 0x100a8e98
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0x134]
jmp 0x100a9189
mov ecx, dword [esp + 0x6c4]
add dword [ecx], ebx
add eax, 0xffffffff
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x100a9303
mov ecx, dword [esp + 0x6ac]
add esi, 1
cmp ecx, esi
jge 0x100abdce
mov esi, ecx
jmp 0x100a9303
xor ecx, ecx
jmp 0x100a91fa
xor ecx, ecx
jmp 0x100a9216
xor ecx, ecx
mov dword [esp + 0x138], ecx
mov ebx, 1
mov dword [esp + 0x22c], ebx
jmp 0x100a918b
mov esi, dword [esp + 0x6b0]
mov eax, dword [esp + 0x6ac]
mov edx, dword [esp + 0x6b0]
mov ecx, dword [esp + 0x4ec]
cmp eax, esi
mov esi, ecx
jl 0x100abe1f
mov eax, edx
sar esi, 1
shr esi, 0x1e
add esi, ecx
sar esi, 2
add esi, eax
shl eax, 2
neg eax
mov dword [esp + 0x230], eax
cmp ecx, eax
jge 0x100abe3f
test esi, esi
jl 0x100abe4f
mov dword [esp + 0x1ec], 0
jmp 0x100a901c
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x13c]
add dword [esp + 0x230], 4
lea ecx, [eax*8 + 4]
mov dword [esp + 0x1f0], ebp
shr edx, cl
test dl, 1
je 0x100a8dab
mov eax, dword [esp + 0x6b8]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c4]
mov ecx, dword [esp + 0x230]
mov byte [eax], 0x31
mov dword [ebx], ecx
xor ecx, ecx
jmp 0x100a934b
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x1f0], ebp
lea edx, [eax + 1]
jmp 0x100a8df7
xor eax, eax
jmp 0x100a8f5e
mov eax, dword [esp + 0x2c]
test al, 2
jne 0x100abf56
test al, 0x41
je 0x100abedc
mov eax, edx
test eax, eax
jl 0x100abefa
mov eax, dword [esp + 0x2c]
test al, 0x14
jne 0x100abf03
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
je 0x100a94ad
jmp 0x100a9539
fstp st(0)
mov esi, eax
jmp 0x100a8dab
fstp st(0)
mov esi, edx
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x140]
mov ebp, dword [esp + 0x13c]
lea ecx, [ebx*8 + 4]
shr ebp, cl
test ebp, 1
je 0x100a8dab
mov esi, dword [esp + 0x6b0]
mov ebp, dword [esp + 0x6b0]
neg esi
xor ecx, ecx
test ebp, ebp
sete cl
add ecx, esi
mov dword [esp + 0x230], ecx
jmp 0x100abe88
fstp st(0)
mov esi, edx
jmp 0x100a8dab
fstp st(0)
mov edx, dword [esp + 0x138]
jmp 0x100a8df7
xor eax, eax
jmp 0x100a94f4
xor eax, eax
jmp 0x100a95ca
mov edx, dword [esp + 0x408]
mov ebp, dword [esp + 0x4f4]
mov eax, dword [esp + 0x4f0]
mov esi, dword [esp + 0x134]
mov ecx, 0x39
mov ebx, 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x1d4], ebx
jmp 0x100a929e
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x100aae80
mov ebp, ecx
mov edx, dword [esp + 0x50c]
test edx, edx
jle 0x100ac0bf
add edx, edx
mov dword [esp + 0x50c], edx
add edi, 0xffffffff
cmp ebp, 2
jb 0x100ac22f
lea edx, [ebp - 2]
cmp edx, 5
jb 0x100ac225
mov dword [esp + 0x4f0], esi
mov ebx, 2
lea edx, [ebp - 5]
mov ecx, dword [esp + ebx*4 + 0x508]
mov esi, dword [esp + ebx*4 + 0x50c]
shr ecx, 0x1f
shr esi, 0x1f
or dword [esp + ebx*4 + 0x504], ecx
mov ecx, dword [esp + ebx*4 + 0x508]
add ecx, ecx
or ecx, esi
mov esi, dword [esp + ebx*4 + 0x50c]
mov dword [esp + ebx*4 + 0x508], ecx
mov ecx, dword [esp + ebx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + ebx*4 + 0x514]
mov dword [esp + ebx*4 + 0x50c], esi
mov esi, dword [esp + ebx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + ebx*4 + 0x514]
add ecx, ecx
mov dword [esp + ebx*4 + 0x510], esi
mov dword [esp + ebx*4 + 0x514], ecx
add ebx, 4
cmp ebx, edx
jbe 0x100ac006
mov esi, dword [esp + 0x4f0]
mov edx, dword [esp + ebx*4 + 0x508]
shr edx, 0x1f
or dword [esp + ebx*4 + 0x504], edx
mov edx, dword [esp + ebx*4 + 0x508]
add edx, edx
mov dword [esp + ebx*4 + 0x508], edx
add ebx, 1
cmp ebx, ebp
jbe 0x100ac089
mov eax, dword [esp + eax + 0x508]
test eax, eax
jne 0x100ac0bf
add ebp, 0xffffffff
mov ecx, dword [esp + 0x144]
mov ebx, ecx
shr ebx, 5
and ecx, 0x1f
xor eax, eax
cmp eax, ecx
adc eax, 0
mov dword [esp + 0x2b4], eax
lea eax, [ebx + eax]
cmp ebp, eax
jb 0x100ac212
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x100ac109
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x100ac11a
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x100ac1ef
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x100ac1ac
mov dword [esp + eax*4 + 0x508], edx
mov eax, dword [esp + 0x2b4]
lea ebp, [ebx + eax - 1]
mov dword [esp + 0x508], 0
mov edx, dword [esp + ebp*4 + 0x508]
cmp edx, 0xffffffff
jne 0x100ac16e
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x100ac15f
test ebp, ebp
je 0x100ac188
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x100aae80
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x100aae80
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x100ac1ca
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x100ac1d1
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x100ac1e3
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100ac1d5
mov eax, dword [esp + 0x1f0]
jmp 0x100aae80
mov ebp, edx
add edi, ebp
mov eax, ebp
shl eax, 0x1f
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x100aae80
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x100aae80
mov ebx, 2
jmp 0x100ac089
mov eax, dword [esp + eax + 0x508]
jmp 0x100ac0b8
mov eax, dword [esp + 0x510]
mov ebx, 2
jmp 0x100a9c5e
mov edx, 2
jmp 0x100aa34e
mov edx, 2
jmp 0x100aa9a4
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
add edi, dword [esp + 0x1d4]
mov eax, dword [esp + 0x2b4]
mov ebp, eax
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x388]
mov dword [esp + ebx + 0x508], edx
add eax, 0xffffffff
mov dword [esp + 0x2b4], eax
je 0x100ac2ce
mov edx, eax
xor eax, eax
add eax, dword [esp + edx*4 + 0x348]
mov ecx, dword [esp + edx*4 + 0x388]
add ecx, eax
cmp ecx, eax
mov dword [esp + edx*4 + 0x508], ecx
mov eax, 0
adc eax, 0
add edx, 0xffffffff
jne 0x100ac2a1
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x100ac2f7
mov eax, dword [esp + 0x2b4]
jmp 0x100ac2de
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x100ac2db
mov dword [esp + 0x2b4], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x100ac3ef
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x100ac50d
lea eax, [ebp - 2]
cmp eax, 5
jb 0x100ac503
mov dword [esp + 0x4f0], esi
mov edx, 2
lea eax, [ebp - 5]
mov ecx, dword [esp + edx*4 + 0x508]
mov esi, dword [esp + edx*4 + 0x50c]
shr ecx, 0x1f
shr esi, 0x1f
or dword [esp + edx*4 + 0x504], ecx
mov ecx, dword [esp + edx*4 + 0x508]
add ecx, ecx
or ecx, esi
mov esi, dword [esp + edx*4 + 0x50c]
mov dword [esp + edx*4 + 0x508], ecx
mov ecx, dword [esp + edx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + edx*4 + 0x514]
mov dword [esp + edx*4 + 0x50c], esi
mov esi, dword [esp + edx*4 + 0x510]
add esi, esi
shr ecx, 0x1f
or esi, ecx
mov ecx, dword [esp + edx*4 + 0x514]
add ecx, ecx
mov dword [esp + edx*4 + 0x510], esi
mov dword [esp + edx*4 + 0x514], ecx
add edx, 4
cmp edx, eax
jbe 0x100ac336
mov esi, dword [esp + 0x4f0]
mov eax, dword [esp + edx*4 + 0x508]
shr eax, 0x1f
or dword [esp + edx*4 + 0x504], eax
mov eax, dword [esp + edx*4 + 0x508]
add eax, eax
mov dword [esp + edx*4 + 0x508], eax
add edx, 1
cmp edx, ebp
jbe 0x100ac3b9
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x100ac3ef
add ebp, 0xffffffff
mov ecx, dword [esp + 0x144]
mov ebx, ecx
shr ebx, 5
and ecx, 0x1f
xor eax, eax
cmp eax, ecx
adc eax, 0
mov dword [esp + 0x2b4], eax
lea eax, [ebx + eax]
cmp ebp, eax
jb 0x100ac212
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x100ac439
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x100ac44a
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x100ac1ef
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x100ac4bc
mov dword [esp + eax*4 + 0x508], edx
mov eax, dword [esp + 0x2b4]
lea ebp, [ebx + eax - 1]
mov dword [esp + 0x508], 0
mov edx, dword [esp + ebp*4 + 0x508]
cmp edx, 0xffffffff
jne 0x100ac49e
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x100ac48f
test ebp, ebp
je 0x100ac188
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x100aae80
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x100ac4da
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x100ac4e1
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x100ac1e3
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x100ac4e9
mov eax, dword [esp + 0x1f0]
jmp 0x100aae80
mov edx, 2
jmp 0x100ac3b9
mov eax, dword [esp + ebx + 0x508]
jmp 0x100ac3e8
add ebp, 0xffffffff
jne 0x100aadba
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x100ac26e
mov edx, 2
jmp 0x100ab0fe
mov eax, ebp
shl eax, 2
jmp 0x100aaf6f
mov edx, dword [esp + 0x518]
mov ebp, 4
jmp 0x100aac12
add ebp, 0xffffffff
jne 0x100ab4aa
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x4ec], edx
jmp 0x100ab580
mov eax, ecx
shl eax, 2
jmp 0x100ab40e
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x100ab302
mov ebx, 0x1b
mov edx, 2
mov dword [esp + 0x4ec], edx
jmp 0x100ab2c3
movsx edi, word [0x100c6b44]
mov eax, dword [0x100c69cc]
mov edx, dword [0x100c69c8]
mov ebx, dword [0x100c69c4]
mov ebp, 4
mov dword [esp + 0x50c], eax
mov dword [esp + 0x510], edx
mov edx, dword [0x100c69c0]
mov dword [esp + 0x514], ebx
mov dword [esp + 0x518], edx
jmp 0x100ab810
xor edx, edx
jmp 0x100a9aef
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x408]
mov eax, dword [esp + 0x4f0]
mov esi, dword [esp + 0x134]
add ecx, 1
mov ebp, dword [esp + 0x13c]
shr ebp, cl
mov ebx, 0x39
mov dword [esp + 0x94], ebx
and ebp, 1
mov edi, 1
mov dword [esp + 0x1d4], edi
mov ebx, 1
jmp 0x100a929e
mov edx, dword [esp + 0x1ec]
xor ebp, ebp
jmp 0x100a97c6
xor eax, eax
jmp 0x100a95f4
mov eax, 0x4d104d43
jmp 0x100a93be
mov eax, dword [esp + 0x6b8]
lea edx, [eax + 1]
jmp 0x100a8df7