Function at 0x464dc0
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 0x46894d
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 0x464e3d
test cl, 1
jne 0x464e3d
xor ecx, ecx
mov eax, 1
shl eax, cl
or ebx, eax
test cl, 4
je 0x464e6c
test cl, 2
je 0x464e5e
mov eax, 0xaaaa
mov dword [esp + 0x13c], eax
jmp 0x464e9b
mov eax, 0xfa
mov dword [esp + 0x13c], eax
jmp 0x464e9b
test cl, 2
je 0x464e7f
mov eax, 0xfa00
mov dword [esp + 0x13c], eax
jmp 0x464e9b
test cl, 1
je 0x464e8f
xor eax, eax
mov dword [esp + 0x13c], eax
jmp 0x464e9b
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 0x464ed9
cmp eax, 0x7f800000
jne 0x465199
cmp eax, ebp
jne 0x464fa3
test eax, eax
je 0x464f85
mov dword [esp + 0x1ec], 0
test ecx, ecx
je 0x464eff
mov eax, 0xfffffffc
jmp 0x464f04
mov eax, 4
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test ebx, 0x400
je 0x464f2b
test ebx, 0x200
je 0x464f24
mov ebx, str.INFINITY
jmp 0x464f30
mov ebx, 0x44d6014
jmp 0x464f30
mov ebx, section._RDATA
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x464f51
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x464f41
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 0x464f7e
mov ecx, 0xc
jmp 0x465633
xor ecx, ecx
jmp 0x465633
test ecx, ecx
je 0x464f90
mov eax, 0xffffffff
jmp 0x464f95
mov eax, 1
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
jmp 0x465093
test eax, eax
je 0x465068
mov dword [esp + 0x1ec], 0
mov esi, ebx
and esi, 0x400
je 0x464fec
test ebp, 0x400000
jne 0x464fda
test ecx, ecx
je 0x464fd3
mov eax, 0xfffffffa
jmp 0x464fee
mov eax, 6
jmp 0x464fee
test ecx, ecx
je 0x464fe5
mov eax, 0xfffffffb
jmp 0x464fee
mov eax, 5
jmp 0x464fee
xor eax, eax
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test esi, esi
je 0x465011
test ebx, 0x200
je 0x46500a
mov ebx, 0x4b355c
jmp 0x465016
mov ebx, 0x44d6010
jmp 0x465016
mov ebx, 0x44d600c
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x465037
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x465027
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 0x464f7e
mov ecx, 0xa
jmp 0x465633
test ecx, ecx
je 0x465073
mov eax, 0xfffffffe
jmp 0x465078
mov eax, 2
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
mov eax, dword [esp + 0x6b4]
test eax, 0x10000000
je 0x465148
mov eax, dword [esp + 0x6b4]
test eax, 0x80
je 0x4650a8
mov esi, 1
jmp 0x465100
mov eax, dword [esp + 0x6b4]
test al, 2
je 0x465100
mov esi, dword [esp + 0x6b0]
mov eax, dword [esp + 0x6ac]
lea esi, [esi + 1]
cmp esi, eax
jle 0x4650d1
mov esi, dword [esp + 0x6ac]
jmp 0x465100
test esi, esi
jg 0x465100
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 0x465633
mov eax, dword [esp + 0x6b8]
mov edx, eax
lea ecx, [esi - 1]
test esi, esi
je 0x46511e
mov byte [edx], 0x30
add ecx, 0xffffffff
add edx, 1
cmp ecx, 0xffffffff
jne 0x465110
mov ecx, dword [esp + 0x6c4]
mov ebx, dword [esp + 0x6b4]
mov dword [ecx], 1
test ebx, 0x40000000
je 0x464f7e
mov ecx, 0xb
jmp 0x465633
mov dword [esp + 8], ebp
mov edx, ebp
and edx, 0x7f800000
shr edx, 0x17
test edx, edx
je 0x465168
mov edi, ebp
or edi, 0xff800000
shl edi, 8
jmp 0x465182
mov edi, ebp
shl edi, 9
test edi, edi
jle 0x46806d
xor eax, eax
add edi, edi
add eax, 1
test edi, edi
jg 0x465177
sub edx, eax
add edx, 0xffffff81
shl edx, 0x10
shr edi, 0xf
movzx eax, di
or edx, eax
mov dword [esp + 0x1f0], eax
jmp 0x4651b2
test ecx, ecx
je 0x4651a4
mov eax, 0xfffffffd
jmp 0x4651a9
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 0x46568e
and ebx, 0x200
je 0x4651e2
mov eax, 0x46
mov dword [esp + 0x94], eax
jmp 0x4651ee
mov eax, 0x66
mov dword [esp + 0x94], eax
test ebx, ebx
je 0x465200
mov eax, 8
mov dword [esp + 0x1d4], eax
jmp 0x46520c
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 0x465230
or ebp, 0xff800000
shl ebp, 8
jmp 0x465256
shl ebp, 9
test ebp, ebp
jle 0x4681a7
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x46523d
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 0x46528e
mov esi, dword [esp + 0x6ac]
mov dword [esp + 0x1ec], 0
mov eax, 3
mov dword [esp + 0x22c], eax
jmp 0x465304
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x468191
mov eax, dword [esp + 0x4ec]
and eax, 3
mov dword [esp + 0x22c], eax
je 0x4652be
neg eax
add eax, 4
mov dword [esp + 0x22c], eax
jmp 0x4652c7
xor eax, eax
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x4ec]
test eax, eax
jle 0x4680e3
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 0x465304
mov esi, edx
mov eax, dword [esp + 0x22c]
add dword [esp + 0x4ec], eax
test eax, eax
je 0x465350
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 0x465342
mov eax, 2
mov dword [esp + 0x88], eax
jmp 0x465363
mov eax, 1
mov dword [esp + 0x88], eax
jmp 0x465363
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 0x4680c9
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 0x4653f2
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x468074
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 0x46540c
add ebx, 0x30
jmp 0x46541c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x465419
add ebx, 0x37
jmp 0x46541c
add ebx, 0x57
mov byte [edx], bl
add edx, 1
test edi, edi
jg 0x4653bf
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 0x465473
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x465471
add ecx, 1
mov ebp, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x22c], ecx
jmp 0x465473
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 0x4680c2
mov ecx, ebx
sub ecx, dword [esp + 0x22c]
cmp ecx, 6
jb 0x4680bb
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 0x4654b1
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 0x4654f0
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 0x4655e3
mov edi, dword [esp + 0x94]
lea ebp, [edx - 1]
movsx ecx, byte [ebp]
mov dword [esp + 0x230], ecx
cmp ecx, edi
jne 0x4655b7
movsx ecx, byte [ebp - 1]
mov edx, ebp
add ebp, 0xffffffff
cmp ecx, edi
je 0x4655a3
mov dword [esp + 0x230], ecx
cmp ecx, 0x39
je 0x4655c8
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 0x46808e
jmp 0x4655eb
test esi, esi
jle 0x465093
mov ecx, dword [esp + 0x6b4]
test ecx, 0x80
je 0x465615
lea ecx, [edx - 1]
movsx ebx, byte [ecx]
cmp ebx, 0x30
jne 0x465631
movsx ebx, byte [ecx - 1]
mov edx, ecx
add ecx, 0xffffffff
cmp ebx, 0x30
je 0x465605
jmp 0x465631
mov ecx, edx
sub ecx, eax
sub esi, ecx
lea ecx, [esi - 1]
test esi, esi
jle 0x465631
mov byte [edx], 0x30
mov ebx, ecx
add edx, 1
add ecx, 0xffffffff
test ebx, ebx
jg 0x465622
xor ecx, ecx
mov ebx, dword [esp + 0x6bc]
mov byte [edx], 0
test ebx, ebx
je 0x465654
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 0x46566f
sub edx, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c0]
mov dword [ebx], edx
mov ebx, dword [esp + 0x6cc]
test ebx, ebx
je 0x465683
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 0x468943
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 0x465727
mov edi, dword [esp + 0x128]
fld xword [esp + 0x20]
neg edi
add edi, 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x465788
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x468247
mov eax, dword [esp + 0x6b0]
mov ecx, dword [esp + 0x6ac]
lea edx, [edi + eax]
mov dword [esp + 0x134], edx
cmp edx, ecx
jle 0x465773
mov eax, dword [esp + 0x6c4]
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x134], edx
mov dword [eax], edi
jmp 0x465791
mov eax, edx
test eax, eax
jle 0x4681ae
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
jmp 0x465791
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
jne 0x4657f9
mov esi, dword [esp + 0x130]
mov dword [esp + 0x1c], esi
and esi, 0x7f800000
shr esi, 0x17
test esi, esi
je 0x4657bf
mov edx, dword [esp + 0x130]
or edx, 0xff800000
shl edx, 8
jmp 0x4657de
mov edx, dword [esp + 0x130]
shl edx, 9
test edx, edx
jle 0x468255
xor eax, eax
add edx, edx
add eax, 1
test edx, edx
jg 0x4657d3
sub esi, eax
mov dword [esp + 0x1f0], edx
add esi, 0xffffff82
xor eax, eax
mov edx, 0x18
mov ebx, 1
jmp 0x46590b
mov eax, dword [esp + 0x134]
cmp eax, 0xf
jl 0x465821
cmp edi, 0xfffffeaa
jl 0x46582e
cmp edi, 0x159
jg 0x46582e
cmp eax, 0x11
jle 0x465835
mov edx, 0x80
jmp 0x46583a
cmp edi, 0x24
jle 0x465861
cmp edi, 0x159
jle 0x465835
mov edx, 0x80
jmp 0x46583a
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 0x465d8e
fld qword [edi*8 + 0x4bd438]
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 0x465898
or ebp, 0xfff00000
shl ebp, 0xb
mov eax, edx
shr eax, 0x15
or ebp, eax
shl edx, 0xb
jmp 0x4658e3
test ebp, ebp
je 0x4658c7
shl ebp, 0xc
test ebp, ebp
jle 0x46825c
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x4658a9
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 0x4658e3
mov ebp, edx
test edx, edx
jle 0x46893c
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x4658d3
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 0x465717
neg esi
je 0x46598a
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 0x46597c
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 0x46595c
mov eax, dword [esp + edx + 0x1f0]
test eax, eax
je 0x46598a
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 0x4659bc
mov esi, edx
test esi, esi
je 0x46892e
mov edi, dword [esp + 0x408]
xor ebp, ebp
mov dword [esp + 0x1ec], 0
xor edx, edx
test ebx, ebx
je 0x465a90
mov edx, dword [esp + ebx*4 + 0x1ec]
mov dword [esp + ebx*4 + 0x1ec], 0
mov eax, 0
je 0x465a82
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 0x465a16
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 0x465a90
add ebx, 0xffffffff
add ebp, 0x35269
lea eax, [edx + 0x30]
mov byte [edi], al
add edi, 1
add esi, 0xffffffff
jne 0x4659cd
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 0x465b14
mov ebx, edi
cmp ebx, 0x80000000
je 0x465b14
mov edi, 1
jmp 0x465b16
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 0x465d4d
mov edx, dword [esp + 0x608]
add edx, 0x80000001
cmp edx, 1
ja 0x468263
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 0x465d04
lea ebx, [ebx - 1]
cmp ebx, 5
jl 0x465ca2
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 0x465bd4
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 0x465cb5
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 0x465cb2
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 0x465d35
cmp ecx, 0x80000000
je 0x465d35
mov ecx, 1
jmp 0x465d37
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 0x468263
test esi, esi
je 0x468263
mov eax, dword [esp + 0x144]
cmp eax, 0x80
jae 0x4688e1
cmp eax, 0x40
jae 0x465d82
mov eax, 0x40
mov dword [esp + 0x144], eax
jmp 0x465d8e
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 0x465dba
mov eax, dword [esp + 0x130]
or eax, 0xff800000
shl eax, 8
jmp 0x465dd9
mov eax, dword [esp + 0x130]
shl eax, 9
test eax, eax
jle 0x4688da
xor edx, edx
add eax, eax
add edx, 1
test eax, eax
jg 0x465dce
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 0x4661f2
mov edx, ebx
cmp edx, 0xffffffd1
jl 0x465ead
cmp edx, 0x2f
jg 0x465e4e
movsx edi, word [ebx*2 + 0x4bcd5e]
mov edx, dword [ebx*8 + 0x4bcb7c]
mov ebp, dword [ebx*8 + 0x4bcb78]
mov dword [esp + 0x50c], edx
test ebp, ebp
mov dword [esp + 0x510], ebp
jne 0x46829c
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x465e3b
jmp 0x467168
mov ebx, edx
sar ebx, 3
lea ebp, [ebx + ebx]
movzx eax, word [ebp + 0x4bcf42]
shr eax, 5
cmp eax, edx
jg 0x465e68
lea ebp, [ebx + ebx + 2]
movzx eax, word [ebp + 0x4bcf40]
mov ebp, eax
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x4bcfbc]
mov ebx, dword [ebp*8 + 0x4bcec4]
mov edi, dword [ebp*8 + 0x4bcec0]
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 0x465f07
neg edx
mov ebx, edx
sar ebx, 3
movzx ebp, word [ebx*2 + 0x4bce40]
mov eax, ebp
shr eax, 5
cmp eax, edx
jge 0x465ed2
movzx ebp, word [ebx*2 + 0x4bce42]
mov eax, ebp
shr eax, 5
add eax, dword [esp + 0x128]
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x4bcf9c]
mov ebx, dword [ebp*8 + 0x4bcdc4]
mov ebp, dword [ebp*8 + 0x4bcdc0]
mov dword [esp + 0x94], edx
mov dword [esp + 0x5cc], ebx
mov dword [esp + 0x5d0], ebp
movsx edi, word [eax*2 + 0x4bcd5e]
mov edx, dword [eax*8 + 0x4bcb7c]
mov eax, dword [eax*8 + 0x4bcb78]
mov dword [esp + 0x50c], edx
test eax, eax
mov dword [esp + 0x510], eax
jne 0x468523
mov ebx, 2
mov eax, dword [esp + ebx*4 + 0x504]
add ebx, 0xffffffff
test eax, eax
je 0x465f38
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 0x466087
cmp eax, 6
jl 0x466070
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 0x466020
xor edx, edx
mov dword [esp + eax*4 + 0x548], edx
mov dword [esp + eax*4 + 0x588], edx
add eax, 0xffffffff
test eax, eax
jge 0x466070
add ebx, 0xffffffff
je 0x466171
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 0x4660b9
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add ebx, 0xffffffff
jne 0x4660aa
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 0x4661d1
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 0x46619d
mov esi, dword [esp + 0x4f0]
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x4661dd
jmp 0x4682af
add ecx, 0xffffffff
mov eax, ecx
shl eax, 2
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x4661da
jmp 0x4682ad
mov eax, ebx
cmp eax, 0xfffffdea
jge 0x46684a
cmp eax, 0xfffff000
jle 0x466235
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 0x46680c
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 0x4667c6
movsx edx, word [ebp*2 + 0x4bc9c0]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x4bc6ac]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x4bc6a8]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x4bc6a4]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x4bc6a0]
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 0x466314
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x308], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x466416
cmp ecx, 6
jl 0x4663ff
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 0x4663af
xor eax, eax
mov dword [esp + ecx*4 + 0x308], eax
mov dword [esp + ecx*4 + 0x2c8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x4663ff
add esi, 0xffffffff
je 0x466500
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 0x466448
mov eax, dword [esp + 0x4f4]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x466439
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 0x466562
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 0x46652e
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x466574
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x466566
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x46665e
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x46665e
lea eax, [esi - 2]
cmp eax, 5
jb 0x468534
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 0x4665b3
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 0x466636
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x46666c
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 0x46680c
mov edx, ecx
mov esi, eax
test edx, edx
je 0x4666c6
mov ecx, dword [esp + 0x4f4]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x2b4], edx
jmp 0x4666d7
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x2b4], edx
test eax, eax
je 0x4667b4
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x2b4]
add edx, ecx
mov dword [esp + 0x4f4], edx
cmp edx, ecx
jae 0x466764
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 0x466739
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x46672a
test esi, esi
je 0x46674c
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x46680c
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x46680c
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x466790
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 0x46679e
mov edx, dword [esp + 0x4f4]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x46680c
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x4667a4
jmp 0x46680c
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x46680c
movsx edi, word [ebp*2 + 0x4bc9c0]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x4bc6ac]
mov edx, dword [esi + 0x4bc6a8]
mov ecx, dword [esi + 0x4bc6a4]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x4bc6a0]
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 0x466830
mov eax, edx
neg eax
cmp ebx, eax
jg 0x466813
mov dword [esp + 0x1d8], edx
jmp 0x46625f
mov dword [esp + 0x408], esi
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x1d4], edi
jmp 0x466e8f
cmp eax, 0x216
jle 0x466e86
cmp eax, 0x1000
jge 0x46688b
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 0x466e62
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 0x466e1c
movsx edx, word [ebp*2 + 0x4bc9dc]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x4bc82c]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x4bc828]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x4bc824]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x4bc820]
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 0x46696a
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x194], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x466a6c
cmp ecx, 6
jl 0x466a55
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 0x466a05
xor eax, eax
mov dword [esp + ecx*4 + 0x194], eax
mov dword [esp + ecx*4 + 0x154], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x466a55
add esi, 0xffffffff
je 0x466b56
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 0x466a9e
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x466a8f
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 0x466bb8
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 0x466b84
mov eax, dword [esp + 0x2b4]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x466bca
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x466bbc
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x466cb4
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x466cb4
lea eax, [esi - 2]
cmp eax, 5
jb 0x46853e
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 0x466c09
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 0x466c8c
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x466cc2
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 0x466e62
mov edx, ecx
mov esi, eax
test edx, edx
je 0x466d1c
mov ecx, dword [esp + 0x230]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x22c], edx
jmp 0x466d2d
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x22c], edx
test eax, eax
je 0x466e0a
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x22c]
add edx, ecx
mov dword [esp + 0x230], edx
cmp edx, ecx
jae 0x466dba
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 0x466d8f
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x466d80
test esi, esi
je 0x466da2
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x466e62
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x466e62
mov edx, dword [esp + 0x608]
test edx, edx
je 0x466de6
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 0x466df4
mov edx, dword [esp + 0x230]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x466e62
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x466dfa
jmp 0x466e62
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x466e62
movsx edi, word [ebp*2 + 0x4bc9dc]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x4bc82c]
mov edx, dword [esi + 0x4bc828]
mov ecx, dword [esi + 0x4bc824]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x4bc820]
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 0x466830
cmp ebx, eax
jl 0x466e69
mov dword [esp + 0x1d8], eax
jmp 0x4668b5
xor eax, eax
mov dword [esp + 0x408], eax
cmp ebx, 0xffffffe5
jl 0x4674c4
test ebx, ebx
jge 0x467425
movsx edi, word [ebx*2 + 0x4bc9be]
shl ebx, 4
mov eax, dword [ebx + 0x4bc69c]
mov edx, dword [ebx + 0x4bc698]
mov ebp, dword [ebx + 0x4bc694]
mov ebx, dword [ebx + 0x4bc690]
mov dword [esp + 0x50c], eax
test ebx, ebx
mov dword [esp + 0x510], edx
mov dword [esp + 0x514], ebp
mov dword [esp + 0x518], ebx
jne 0x468831
mov ebp, 4
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x466eec
mov eax, dword [esp + 0x408]
test eax, eax
je 0x467161
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 0x466fff
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 0x466f72
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x348], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x467084
cmp ebx, 6
jl 0x46706d
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 0x46701d
xor eax, eax
mov dword [esp + ebx*4 + 0x348], eax
mov dword [esp + ebx*4 + 0x388], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x46706d
add ebp, 0xffffffff
je 0x468556
mov edx, dword [esp + 0x408]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x468801
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 0x4670b9
mov edx, dword [esp + 0x408]
add ebp, 0xffffffff
jne 0x4670a2
jmp 0x468548
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 0x468827
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 0x4671ca
mov ebx, dword [esp + 0x608]
mov dword [esp + eax + 0x98], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x4672d5
cmp ecx, 6
jl 0x4672be
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 0x46726e
xor eax, eax
mov dword [esp + ecx*4 + 0x98], eax
mov dword [esp + ecx*4 + 0xd8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x4672be
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 0x467320
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 0x4672f3
mov edx, dword [esp + eax + 0x1ec]
test edx, edx
jne 0x467332
add ebx, 0xffffffff
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
je 0x467324
mov eax, dword [esp + 0x1f0]
test eax, eax
jle 0x46740e
add eax, eax
mov dword [esp + 0x1f0], eax
add esi, 0xffffffff
cmp ebx, 2
jb 0x46740e
lea eax, [ebx - 2]
cmp eax, 5
jb 0x46881d
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 0x46736a
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 0x4673e6
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
jne 0x465922
add ebx, 0xffffffff
jmp 0x465922
jl 0x4674c4
cmp ebx, 0x37
jl 0x4674b6
mov edx, ebx
sar edx, 3
lea ebp, [edx + edx]
movzx eax, word [ebp + 0x4bc902]
shr eax, 5
cmp eax, ebx
jg 0x46744e
lea ebp, [edx + edx + 2]
movzx edx, word [ebp + 0x4bc900]
mov eax, edx
and eax, 0x1f
movsx ebp, word [eax*2 + 0x4bc9e4]
shr edx, 5
sub ebx, edx
mov dword [esp + 0x94], ebp
shl eax, 4
mov edi, dword [eax + 0x4bc86c]
mov edx, dword [eax + 0x4bc868]
mov dword [esp + 0x5cc], edi
mov dword [esp + 0x5d0], edx
mov edx, dword [eax + 0x4bc864]
mov eax, dword [eax + 0x4bc860]
mov dword [esp + 0x5d4], edx
mov dword [esp + 0x5d8], eax
mov eax, 4
mov dword [esp + 0x2b4], eax
jmp 0x467542
xor eax, eax
mov dword [esp + 0x2b4], eax
jmp 0x467542
mov edx, ebx
neg edx
mov ebp, edx
sar ebp, 3
movzx eax, word [ebp*2 + 0x4bc780]
mov edi, eax
shr edi, 5
cmp edi, edx
jge 0x4674eb
movzx eax, word [ebp*2 + 0x4bc782]
mov edi, eax
shr edi, 5
and eax, 0x1f
movsx edx, word [eax*2 + 0x4bc9c8]
mov dword [esp + 0x94], edx
add ebx, edi
shl eax, 4
mov ebp, dword [eax + 0x4bc6ec]
mov edi, dword [eax + 0x4bc6e8]
mov edx, dword [eax + 0x4bc6e4]
mov eax, dword [eax + 0x4bc6e0]
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 0x468896
lea eax, [ebx - 0x1b]
test eax, eax
jle 0x4675ab
movsx edx, word [eax*2 + 0x4bcd5e]
mov ebx, dword [eax*8 + 0x4bcb7c]
mov ebp, dword [eax*8 + 0x4bcb78]
mov dword [esp + 0x88], edx
test ebp, ebp
mov dword [esp + 0x430], ebx
mov dword [esp + 0x434], ebp
jne 0x468880
mov edx, 2
mov dword [esp + 0x4ec], edx
add edx, 0xffffffff
mov ebx, dword [esp + edx*4 + 0x42c]
test ebx, ebx
je 0x467591
mov dword [esp + 0x4ec], edx
mov ebx, 0x1b
movsx edi, word [ebx*2 + 0x4bcd5e]
mov edx, dword [ebx*8 + 0x4bcb7c]
mov ebx, dword [ebx*8 + 0x4bcb78]
mov dword [esp + 0x50c], edx
test ebx, ebx
mov dword [esp + 0x510], ebx
jne 0x46886f
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x4675dc
test eax, eax
jle 0x467af8
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 0x468865
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 0x467670
mov dword [esp + eax + 0x4ac], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x467774
cmp ebx, 6
jl 0x46775d
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 0x46770d
xor eax, eax
mov dword [esp + ebx*4 + 0x4ac], eax
mov dword [esp + ebx*4 + 0x46c], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x46775d
add ebp, 0xffffffff
je 0x467868
mov edx, dword [esp + 0x4ec]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x468842
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 0x4677b0
mov edx, dword [esp + 0x4ec]
add ebp, 0xffffffff
jne 0x467792
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 0x4678ca
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 0x467896
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + eax*4 + 0x508]
test edx, edx
jne 0x4678dc
add ebp, 0xffffffff
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
je 0x4678ce
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x4679b8
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x4679b8
lea eax, [ebp - 2]
cmp eax, 5
jb 0x468063
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 0x467914
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 0x467990
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
jne 0x4679c6
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 0x467af1
mov edx, dword [esp + 0x14c]
mov ebp, eax
test edx, edx
je 0x467a10
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x467a21
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x467ad8
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x467a9f
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 0x467a75
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x467a66
test ebp, ebp
je 0x467a85
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x467af8
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x467af8
mov ebx, dword [esp + 0x14c]
test ebx, ebx
je 0x467abd
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x467ac4
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x467af8
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x467ac8
jmp 0x467af8
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 0x467af8
mov edx, dword [esp + ebp*4 + 0x508]
mov eax, dword [esp + 0x2b4]
test eax, eax
je 0x466efa
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 0x467bfe
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 0x467b71
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x274], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x467c83
cmp ebx, 6
jl 0x467c6c
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 0x467c1c
xor eax, eax
mov dword [esp + ebx*4 + 0x274], eax
mov dword [esp + ebx*4 + 0x234], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x467c6c
add ebp, 0xffffffff
je 0x467d69
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x468047
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 0x467cb8
mov edx, dword [esp + 0x2b4]
add ebp, 0xffffffff
jne 0x467ca1
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 0x467dc9
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 0x467d9c
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x467df2
mov eax, dword [esp + 0x14c]
jmp 0x467dd9
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x467dd6
mov dword [esp + 0x14c], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x467eea
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x46803b
lea eax, [ebp - 2]
cmp eax, 5
jb 0x468031
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 0x467e31
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 0x467eb4
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x467eea
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 0x468025
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x467f34
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x467f45
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x468009
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x467fc9
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 0x467f99
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x467f8a
test ebp, ebp
je 0x467fac
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x466efa
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x466efa
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x467fe7
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x467fee
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x466efa
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x467ff6
jmp 0x466efa
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 0x466efa
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x466efa
mov edx, 2
jmp 0x467eb4
mov eax, dword [esp + ebx + 0x508]
jmp 0x467ee3
add ebp, 0xffffffff
jne 0x467ca1
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x467d69
mov edx, 2
jmp 0x467990
xor eax, eax
jmp 0x465180
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0x134]
jmp 0x465471
mov ecx, dword [esp + 0x6c4]
add dword [ecx], ebx
add eax, 0xffffffff
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x4655eb
mov ecx, dword [esp + 0x6ac]
add esi, 1
cmp ecx, esi
jge 0x4680b6
mov esi, ecx
jmp 0x4655eb
xor ecx, ecx
jmp 0x4654e2
xor ecx, ecx
jmp 0x4654fe
xor ecx, ecx
mov dword [esp + 0x138], ecx
mov ebx, 1
mov dword [esp + 0x22c], ebx
jmp 0x465473
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 0x468107
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 0x468127
test esi, esi
jl 0x468137
mov dword [esp + 0x1ec], 0
jmp 0x465304
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 0x465093
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 0x465633
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x1f0], ebp
lea edx, [eax + 1]
jmp 0x4650df
xor eax, eax
jmp 0x465246
mov eax, dword [esp + 0x2c]
test al, 2
jne 0x46823e
test al, 0x41
je 0x4681c4
mov eax, edx
test eax, eax
jl 0x4681e2
mov eax, dword [esp + 0x2c]
test al, 0x14
jne 0x4681eb
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
je 0x465795
jmp 0x465821
fstp st(0)
mov esi, eax
jmp 0x465093
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 0x465093
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 0x468170
fstp st(0)
mov esi, edx
jmp 0x465093
fstp st(0)
mov edx, dword [esp + 0x138]
jmp 0x4650df
xor eax, eax
jmp 0x4657dc
xor eax, eax
jmp 0x4658b2
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 0x465586
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x467168
mov ebp, ecx
mov edx, dword [esp + 0x50c]
test edx, edx
jle 0x4683a7
add edx, edx
mov dword [esp + 0x50c], edx
add edi, 0xffffffff
cmp ebp, 2
jb 0x468517
lea edx, [ebp - 2]
cmp edx, 5
jb 0x46850d
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 0x4682ee
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 0x468371
mov eax, dword [esp + eax + 0x508]
test eax, eax
jne 0x4683a7
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 0x4684fa
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x4683f1
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x468402
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x4684d7
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x468494
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 0x468456
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x468447
test ebp, ebp
je 0x468470
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x467168
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x467168
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x4684b2
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x4684b9
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x4684cb
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x4684bd
mov eax, dword [esp + 0x1f0]
jmp 0x467168
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 0x467168
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x467168
mov ebx, 2
jmp 0x468371
mov eax, dword [esp + eax + 0x508]
jmp 0x4683a0
mov eax, dword [esp + 0x510]
mov ebx, 2
jmp 0x465f46
mov edx, 2
jmp 0x466636
mov edx, 2
jmp 0x466c8c
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 0x4685b6
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 0x468589
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x4685df
mov eax, dword [esp + 0x2b4]
jmp 0x4685c6
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x4685c3
mov dword [esp + 0x2b4], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x4686d7
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x4687f5
lea eax, [ebp - 2]
cmp eax, 5
jb 0x4687eb
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 0x46861e
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 0x4686a1
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x4686d7
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 0x4684fa
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x468721
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x468732
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x4684d7
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x4687a4
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 0x468786
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x468777
test ebp, ebp
je 0x468470
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x467168
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x4687c2
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x4687c9
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x4684cb
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x4687d1
mov eax, dword [esp + 0x1f0]
jmp 0x467168
mov edx, 2
jmp 0x4686a1
mov eax, dword [esp + ebx + 0x508]
jmp 0x4686d0
add ebp, 0xffffffff
jne 0x4670a2
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x468556
mov edx, 2
jmp 0x4673e6
mov eax, ebp
shl eax, 2
jmp 0x467257
mov edx, dword [esp + 0x518]
mov ebp, 4
jmp 0x466efa
add ebp, 0xffffffff
jne 0x467792
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x4ec], edx
jmp 0x467868
mov eax, ecx
shl eax, 2
jmp 0x4676f6
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x4675ea
mov ebx, 0x1b
mov edx, 2
mov dword [esp + 0x4ec], edx
jmp 0x4675ab
movsx edi, word [0x4bc9e4]
mov eax, dword [0x4bc86c]
mov edx, dword [0x4bc868]
mov ebx, dword [0x4bc864]
mov ebp, 4
mov dword [esp + 0x50c], eax
mov dword [esp + 0x510], edx
mov edx, dword [0x4bc860]
mov dword [esp + 0x514], ebx
mov dword [esp + 0x518], edx
jmp 0x467af8
xor edx, edx
jmp 0x465dd7
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 0x465586
mov edx, dword [esp + 0x1ec]
xor ebp, ebp
jmp 0x465aae
xor eax, eax
jmp 0x4658dc
mov eax, 0x4d104d43
jmp 0x4656a6
mov eax, dword [esp + 0x6b8]
lea edx, [eax + 1]
jmp 0x4650df