Function at 0x448840
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 0x44c3cd
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 0x4488bd
test cl, 1
jne 0x4488bd
xor ecx, ecx
mov eax, 1
shl eax, cl
or ebx, eax
test cl, 4
je 0x4488ec
test cl, 2
je 0x4488de
mov eax, 0xaaaa
mov dword [esp + 0x13c], eax
jmp 0x44891b
mov eax, 0xfa
mov dword [esp + 0x13c], eax
jmp 0x44891b
test cl, 2
je 0x4488ff
mov eax, 0xfa00
mov dword [esp + 0x13c], eax
jmp 0x44891b
test cl, 1
je 0x44890f
xor eax, eax
mov dword [esp + 0x13c], eax
jmp 0x44891b
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 0x448959
cmp eax, 0x7f800000
jne 0x448c19
cmp eax, ebp
jne 0x448a23
test eax, eax
je 0x448a05
mov dword [esp + 0x1ec], 0
test ecx, ecx
je 0x44897f
mov eax, 0xfffffffc
jmp 0x448984
mov eax, 4
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test ebx, 0x400
je 0x4489ab
test ebx, 0x200
je 0x4489a4
mov ebx, 0x4b2388
jmp 0x4489b0
mov ebx, 0x4b6f74
jmp 0x4489b0
mov ebx, 0x4b6f80
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x4489d1
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x4489c1
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 0x4489fe
mov ecx, 0xc
jmp 0x4490b3
xor ecx, ecx
jmp 0x4490b3
test ecx, ecx
je 0x448a10
mov eax, 0xffffffff
jmp 0x448a15
mov eax, 1
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
jmp 0x448b13
test eax, eax
je 0x448ae8
mov dword [esp + 0x1ec], 0
mov esi, ebx
and esi, 0x400
je 0x448a6c
test ebp, 0x400000
jne 0x448a5a
test ecx, ecx
je 0x448a53
mov eax, 0xfffffffa
jmp 0x448a6e
mov eax, 6
jmp 0x448a6e
test ecx, ecx
je 0x448a65
mov eax, 0xfffffffb
jmp 0x448a6e
mov eax, 5
jmp 0x448a6e
xor eax, eax
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
test esi, esi
je 0x448a91
test ebx, 0x200
je 0x448a8a
mov ebx, 0x4b2394
jmp 0x448a96
mov ebx, 0x4b6f6c
jmp 0x448a96
mov ebx, 0x4b6f70
mov edx, dword [esp + 0x6b8]
movsx ecx, byte [ebx]
test ecx, ecx
je 0x448ab7
movsx ecx, byte [ebx]
mov byte [edx], cl
movsx ecx, byte [ebx + 1]
add ebx, 1
add edx, 1
test ecx, ecx
jne 0x448aa7
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 0x4489fe
mov ecx, 0xa
jmp 0x4490b3
test ecx, ecx
je 0x448af3
mov eax, 0xfffffffe
jmp 0x448af8
mov eax, 2
mov edx, dword [esp + 0x6c8]
mov dword [edx], eax
mov eax, dword [esp + 0x6b4]
test eax, 0x10000000
je 0x448bc8
mov eax, dword [esp + 0x6b4]
test eax, 0x80
je 0x448b28
mov esi, 1
jmp 0x448b80
mov eax, dword [esp + 0x6b4]
test al, 2
je 0x448b80
mov esi, dword [esp + 0x6b0]
mov eax, dword [esp + 0x6ac]
lea esi, [esi + 1]
cmp esi, eax
jle 0x448b51
mov esi, dword [esp + 0x6ac]
jmp 0x448b80
test esi, esi
jg 0x448b80
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 0x4490b3
mov eax, dword [esp + 0x6b8]
mov edx, eax
lea ecx, [esi - 1]
test esi, esi
je 0x448b9e
mov byte [edx], 0x30
add ecx, 0xffffffff
add edx, 1
cmp ecx, 0xffffffff
jne 0x448b90
mov ecx, dword [esp + 0x6c4]
mov ebx, dword [esp + 0x6b4]
mov dword [ecx], 1
test ebx, 0x40000000
je 0x4489fe
mov ecx, 0xb
jmp 0x4490b3
mov dword [esp + 8], ebp
mov edx, ebp
and edx, 0x7f800000
shr edx, 0x17
test edx, edx
je 0x448be8
mov edi, ebp
or edi, 0xff800000
shl edi, 8
jmp 0x448c02
mov edi, ebp
shl edi, 9
test edi, edi
jle 0x44baed
xor eax, eax
add edi, edi
add eax, 1
test edi, edi
jg 0x448bf7
sub edx, eax
add edx, 0xffffff81
shl edx, 0x10
shr edi, 0xf
movzx eax, di
or edx, eax
mov dword [esp + 0x1f0], eax
jmp 0x448c32
test ecx, ecx
je 0x448c24
mov eax, 0xfffffffd
jmp 0x448c29
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 0x44910e
and ebx, 0x200
je 0x448c62
mov eax, 0x46
mov dword [esp + 0x94], eax
jmp 0x448c6e
mov eax, 0x66
mov dword [esp + 0x94], eax
test ebx, ebx
je 0x448c80
mov eax, 8
mov dword [esp + 0x1d4], eax
jmp 0x448c8c
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 0x448cb0
or ebp, 0xff800000
shl ebp, 8
jmp 0x448cd6
shl ebp, 9
test ebp, ebp
jle 0x44bc27
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x448cbd
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 0x448d0e
mov esi, dword [esp + 0x6ac]
mov dword [esp + 0x1ec], 0
mov eax, 3
mov dword [esp + 0x22c], eax
jmp 0x448d84
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x44bc11
mov eax, dword [esp + 0x4ec]
and eax, 3
mov dword [esp + 0x22c], eax
je 0x448d3e
neg eax
add eax, 4
mov dword [esp + 0x22c], eax
jmp 0x448d47
xor eax, eax
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x4ec]
test eax, eax
jle 0x44bb63
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 0x448d84
mov esi, edx
mov eax, dword [esp + 0x22c]
add dword [esp + 0x4ec], eax
test eax, eax
je 0x448dd0
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 0x448dc2
mov eax, 2
mov dword [esp + 0x88], eax
jmp 0x448de3
mov eax, 1
mov dword [esp + 0x88], eax
jmp 0x448de3
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 0x44bb49
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 0x448e72
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x44baf4
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 0x448e8c
add ebx, 0x30
jmp 0x448e9c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x448e99
add ebx, 0x37
jmp 0x448e9c
add ebx, 0x57
mov byte [edx], bl
add edx, 1
test edi, edi
jg 0x448e3f
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 0x448ef3
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x22c]
cmp ecx, ebx
jae 0x448ef1
add ecx, 1
mov ebp, dword [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x22c], ecx
jmp 0x448ef3
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 0x44bb42
mov ecx, ebx
sub ecx, dword [esp + 0x22c]
cmp ecx, 6
jb 0x44bb3b
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 0x448f31
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 0x448f70
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 0x449063
mov edi, dword [esp + 0x94]
lea ebp, [edx - 1]
movsx ecx, byte [ebp]
mov dword [esp + 0x230], ecx
cmp ecx, edi
jne 0x449037
movsx ecx, byte [ebp - 1]
mov edx, ebp
add ebp, 0xffffffff
cmp ecx, edi
je 0x449023
mov dword [esp + 0x230], ecx
cmp ecx, 0x39
je 0x449048
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 0x44bb0e
jmp 0x44906b
test esi, esi
jle 0x448b13
mov ecx, dword [esp + 0x6b4]
test ecx, 0x80
je 0x449095
lea ecx, [edx - 1]
movsx ebx, byte [ecx]
cmp ebx, 0x30
jne 0x4490b1
movsx ebx, byte [ecx - 1]
mov edx, ecx
add ecx, 0xffffffff
cmp ebx, 0x30
je 0x449085
jmp 0x4490b1
mov ecx, edx
sub ecx, eax
sub esi, ecx
lea ecx, [esi - 1]
test esi, esi
jle 0x4490b1
mov byte [edx], 0x30
mov ebx, ecx
add edx, 1
add ecx, 0xffffffff
test ebx, ebx
jg 0x4490a2
xor ecx, ecx
mov ebx, dword [esp + 0x6bc]
mov byte [edx], 0
test ebx, ebx
je 0x4490d4
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 0x4490ef
sub edx, dword [esp + 0x6b8]
mov ebx, dword [esp + 0x6c0]
mov dword [ebx], edx
mov ebx, dword [esp + 0x6cc]
test ebx, ebx
je 0x449103
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 0x44c3c3
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 0x4491a7
mov edi, dword [esp + 0x128]
fld xword [esp + 0x20]
neg edi
add edi, 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x449208
mov eax, dword [esp + 0x6b0]
test eax, eax
jl 0x44bcc7
mov eax, dword [esp + 0x6b0]
mov ecx, dword [esp + 0x6ac]
lea edx, [edi + eax]
mov dword [esp + 0x134], edx
cmp edx, ecx
jle 0x4491f3
mov eax, dword [esp + 0x6c4]
mov edx, dword [esp + 0x6ac]
mov dword [esp + 0x134], edx
mov dword [eax], edi
jmp 0x449211
mov eax, edx
test eax, eax
jle 0x44bc2e
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
jmp 0x449211
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
jne 0x449279
mov esi, dword [esp + 0x130]
mov dword [esp + 0x1c], esi
and esi, 0x7f800000
shr esi, 0x17
test esi, esi
je 0x44923f
mov edx, dword [esp + 0x130]
or edx, 0xff800000
shl edx, 8
jmp 0x44925e
mov edx, dword [esp + 0x130]
shl edx, 9
test edx, edx
jle 0x44bcd5
xor eax, eax
add edx, edx
add eax, 1
test edx, edx
jg 0x449253
sub esi, eax
mov dword [esp + 0x1f0], edx
add esi, 0xffffff82
xor eax, eax
mov edx, 0x18
mov ebx, 1
jmp 0x44938b
mov eax, dword [esp + 0x134]
cmp eax, 0xf
jl 0x4492a1
cmp edi, 0xfffffeaa
jl 0x4492ae
cmp edi, 0x159
jg 0x4492ae
cmp eax, 0x11
jle 0x4492b5
mov edx, 0x80
jmp 0x4492ba
cmp edi, 0x24
jle 0x4492e1
cmp edi, 0x159
jle 0x4492b5
mov edx, 0x80
jmp 0x4492ba
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 0x44980e
fld qword [edi*8 + 0x496558]
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 0x449318
or ebp, 0xfff00000
shl ebp, 0xb
mov eax, edx
shr eax, 0x15
or ebp, eax
shl edx, 0xb
jmp 0x449363
test ebp, ebp
je 0x449347
shl ebp, 0xc
test ebp, ebp
jle 0x44bcdc
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x449329
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 0x449363
mov ebp, edx
test edx, edx
jle 0x44c3bc
xor eax, eax
add ebp, ebp
add eax, 1
test ebp, ebp
jg 0x449353
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 0x449197
neg esi
je 0x44940a
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 0x4493fc
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 0x4493dc
mov eax, dword [esp + edx + 0x1f0]
test eax, eax
je 0x44940a
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 0x44943c
mov esi, edx
test esi, esi
je 0x44c3ae
mov edi, dword [esp + 0x408]
xor ebp, ebp
mov dword [esp + 0x1ec], 0
xor edx, edx
test ebx, ebx
je 0x449510
mov edx, dword [esp + ebx*4 + 0x1ec]
mov dword [esp + ebx*4 + 0x1ec], 0
mov eax, 0
je 0x449502
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 0x449496
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 0x449510
add ebx, 0xffffffff
add ebp, 0x35269
lea eax, [edx + 0x30]
mov byte [edi], al
add edi, 1
add esi, 0xffffffff
jne 0x44944d
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 0x449594
mov ebx, edi
cmp ebx, 0x80000000
je 0x449594
mov edi, 1
jmp 0x449596
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 0x4497cd
mov edx, dword [esp + 0x608]
add edx, 0x80000001
cmp edx, 1
ja 0x44bce3
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 0x449784
lea ebx, [ebx - 1]
cmp ebx, 5
jl 0x449722
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 0x449654
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 0x449735
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 0x449732
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 0x4497b5
cmp ecx, 0x80000000
je 0x4497b5
mov ecx, 1
jmp 0x4497b7
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 0x44bce3
test esi, esi
je 0x44bce3
mov eax, dword [esp + 0x144]
cmp eax, 0x80
jae 0x44c361
cmp eax, 0x40
jae 0x449802
mov eax, 0x40
mov dword [esp + 0x144], eax
jmp 0x44980e
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 0x44983a
mov eax, dword [esp + 0x130]
or eax, 0xff800000
shl eax, 8
jmp 0x449859
mov eax, dword [esp + 0x130]
shl eax, 9
test eax, eax
jle 0x44c35a
xor edx, edx
add eax, eax
add edx, 1
test eax, eax
jg 0x44984e
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 0x449c72
mov edx, ebx
cmp edx, 0xffffffd1
jl 0x44992d
cmp edx, 0x2f
jg 0x4498ce
movsx edi, word [ebx*2 + 0x495e7e]
mov edx, dword [ebx*8 + 0x495c9c]
mov ebp, dword [ebx*8 + 0x495c98]
mov dword [esp + 0x50c], edx
test ebp, ebp
mov dword [esp + 0x510], ebp
jne 0x44bd1c
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x4498bb
jmp 0x44abe8
mov ebx, edx
sar ebx, 3
lea ebp, [ebx + ebx]
movzx eax, word [ebp + 0x496062]
shr eax, 5
cmp eax, edx
jg 0x4498e8
lea ebp, [ebx + ebx + 2]
movzx eax, word [ebp + 0x496060]
mov ebp, eax
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x4960dc]
mov ebx, dword [ebp*8 + 0x495fe4]
mov edi, dword [ebp*8 + 0x495fe0]
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 0x449987
neg edx
mov ebx, edx
sar ebx, 3
movzx ebp, word [ebx*2 + 0x495f60]
mov eax, ebp
shr eax, 5
cmp eax, edx
jge 0x449952
movzx ebp, word [ebx*2 + 0x495f62]
mov eax, ebp
shr eax, 5
add eax, dword [esp + 0x128]
and ebp, 0x1f
movsx edx, word [ebp*2 + 0x4960bc]
mov ebx, dword [ebp*8 + 0x495ee4]
mov ebp, dword [ebp*8 + 0x495ee0]
mov dword [esp + 0x94], edx
mov dword [esp + 0x5cc], ebx
mov dword [esp + 0x5d0], ebp
movsx edi, word [eax*2 + 0x495e7e]
mov edx, dword [eax*8 + 0x495c9c]
mov eax, dword [eax*8 + 0x495c98]
mov dword [esp + 0x50c], edx
test eax, eax
mov dword [esp + 0x510], eax
jne 0x44bfa3
mov ebx, 2
mov eax, dword [esp + ebx*4 + 0x504]
add ebx, 0xffffffff
test eax, eax
je 0x4499b8
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 0x449b07
cmp eax, 6
jl 0x449af0
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 0x449aa0
xor edx, edx
mov dword [esp + eax*4 + 0x548], edx
mov dword [esp + eax*4 + 0x588], edx
add eax, 0xffffffff
test eax, eax
jge 0x449af0
add ebx, 0xffffffff
je 0x449bf1
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 0x449b39
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add ebx, 0xffffffff
jne 0x449b2a
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 0x449c51
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 0x449c1d
mov esi, dword [esp + 0x4f0]
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x449c5d
jmp 0x44bd2f
add ecx, 0xffffffff
mov eax, ecx
shl eax, 2
mov edx, dword [esp + eax + 0x508]
test edx, edx
je 0x449c5a
jmp 0x44bd2d
mov eax, ebx
cmp eax, 0xfffffdea
jge 0x44a2ca
cmp eax, 0xfffff000
jle 0x449cb5
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 0x44a28c
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 0x44a246
movsx edx, word [ebp*2 + 0x495ae0]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x4957cc]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x4957c8]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x4957c4]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x4957c0]
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 0x449d94
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x308], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x449e96
cmp ecx, 6
jl 0x449e7f
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 0x449e2f
xor eax, eax
mov dword [esp + ecx*4 + 0x308], eax
mov dword [esp + ecx*4 + 0x2c8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x449e7f
add esi, 0xffffffff
je 0x449f80
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 0x449ec8
mov eax, dword [esp + 0x4f4]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x449eb9
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 0x449fe2
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 0x449fae
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x449ff4
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x449fe6
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x44a0de
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x44a0de
lea eax, [esi - 2]
cmp eax, 5
jb 0x44bfb4
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 0x44a033
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 0x44a0b6
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x44a0ec
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 0x44a28c
mov edx, ecx
mov esi, eax
test edx, edx
je 0x44a146
mov ecx, dword [esp + 0x4f4]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x2b4], edx
jmp 0x44a157
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x2b4], edx
test eax, eax
je 0x44a234
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x2b4]
add edx, ecx
mov dword [esp + 0x4f4], edx
cmp edx, ecx
jae 0x44a1e4
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 0x44a1b9
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x44a1aa
test esi, esi
je 0x44a1cc
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x44a28c
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x44a28c
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x44a210
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 0x44a21e
mov edx, dword [esp + 0x4f4]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x44a28c
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x44a224
jmp 0x44a28c
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x44a28c
movsx edi, word [ebp*2 + 0x495ae0]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x4957cc]
mov edx, dword [esi + 0x4957c8]
mov ecx, dword [esi + 0x4957c4]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x4957c0]
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 0x44a2b0
mov eax, edx
neg eax
cmp ebx, eax
jg 0x44a293
mov dword [esp + 0x1d8], edx
jmp 0x449cdf
mov dword [esp + 0x408], esi
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x1d4], edi
jmp 0x44a90f
cmp eax, 0x216
jle 0x44a906
cmp eax, 0x1000
jge 0x44a30b
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 0x44a8e2
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 0x44a89c
movsx edx, word [ebp*2 + 0x495afc]
mov dword [esp + 0x94], edx
mov ecx, ebp
shl ecx, 4
lea edx, [esi + 4]
mov eax, dword [ecx + 0x49594c]
mov dword [esp + 0x5cc], eax
mov eax, dword [ecx + 0x495948]
mov dword [esp + 0x5d0], eax
mov eax, dword [ecx + 0x495944]
mov dword [esp + 0x5d4], eax
mov eax, dword [ecx + 0x495940]
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 0x44a3ea
mov edi, dword [esp + 0x1d4]
mov dword [esp + ecx*4 + 0x194], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x44a4ec
cmp ecx, 6
jl 0x44a4d5
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 0x44a485
xor eax, eax
mov dword [esp + ecx*4 + 0x194], eax
mov dword [esp + ecx*4 + 0x154], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x44a4d5
add esi, 0xffffffff
je 0x44a5d6
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 0x44a51e
mov eax, dword [esp + 0x608]
add eax, 0xfffffffc
add esi, 0xffffffff
jne 0x44a50f
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 0x44a638
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 0x44a604
mov eax, dword [esp + 0x2b4]
mov edx, dword [esp + eax*4 + 0x3c8]
test edx, edx
jne 0x44a64a
add esi, 0xffffffff
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
je 0x44a63c
mov eax, dword [esp + 0x3cc]
test eax, eax
jle 0x44a734
add eax, eax
mov dword [esp + 0x3cc], eax
add edi, 0xffffffff
cmp esi, 2
jb 0x44a734
lea eax, [esi - 2]
cmp eax, 5
jb 0x44bfbe
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 0x44a689
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 0x44a70c
mov eax, dword [esp + esi*4 + 0x3c8]
test eax, eax
jne 0x44a742
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 0x44a8e2
mov edx, ecx
mov esi, eax
test edx, edx
je 0x44a79c
mov ecx, dword [esp + 0x230]
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x22c], edx
jmp 0x44a7ad
mov edx, dword [esp + eax*4 + 0x3cc]
shr edx, 0x1f
mov dword [esp + 0x22c], edx
test eax, eax
je 0x44a88a
mov edx, dword [esp + eax*4 + 0x3c8]
mov ecx, dword [esp + 0x22c]
add edx, ecx
mov dword [esp + 0x230], edx
cmp edx, ecx
jae 0x44a83a
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 0x44a80f
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
cmp eax, 0xffffffff
je 0x44a800
test esi, esi
je 0x44a822
add eax, 1
mov dword [esp + esi*4 + 0x3c8], eax
jmp 0x44a8e2
mov dword [esp + 0x3cc], 0x80000000
add edi, 1
mov esi, 1
jmp 0x44a8e2
mov edx, dword [esp + 0x608]
test edx, edx
je 0x44a866
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 0x44a874
mov edx, dword [esp + 0x230]
mov dword [esp + eax*4 + 0x3c8], edx
mov eax, edx
test eax, eax
jne 0x44a8e2
mov eax, dword [esp + esi*4 + 0x3c4]
add esi, 0xffffffff
test eax, eax
je 0x44a87a
jmp 0x44a8e2
mov eax, edx
mov esi, eax
add edi, eax
shl eax, 0x1f
mov dword [esp + 0x3cc], eax
jmp 0x44a8e2
movsx edi, word [ebp*2 + 0x495afc]
mov esi, ebp
shl esi, 4
mov eax, dword [esi + 0x49594c]
mov edx, dword [esi + 0x495948]
mov ecx, dword [esi + 0x495944]
mov dword [esp + 0x3cc], eax
mov eax, dword [esi + 0x495940]
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 0x44a2b0
cmp ebx, eax
jl 0x44a8e9
mov dword [esp + 0x1d8], eax
jmp 0x44a335
xor eax, eax
mov dword [esp + 0x408], eax
cmp ebx, 0xffffffe5
jl 0x44af44
test ebx, ebx
jge 0x44aea5
movsx edi, word [ebx*2 + 0x495ade]
shl ebx, 4
mov eax, dword [ebx + 0x4957bc]
mov edx, dword [ebx + 0x4957b8]
mov ebp, dword [ebx + 0x4957b4]
mov ebx, dword [ebx + 0x4957b0]
mov dword [esp + 0x50c], eax
test ebx, ebx
mov dword [esp + 0x510], edx
mov dword [esp + 0x514], ebp
mov dword [esp + 0x518], ebx
jne 0x44c2b1
mov ebp, 4
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44a96c
mov eax, dword [esp + 0x408]
test eax, eax
je 0x44abe1
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 0x44aa7f
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 0x44a9f2
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x348], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x44ab04
cmp ebx, 6
jl 0x44aaed
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 0x44aa9d
xor eax, eax
mov dword [esp + ebx*4 + 0x348], eax
mov dword [esp + ebx*4 + 0x388], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x44aaed
add ebp, 0xffffffff
je 0x44bfd6
mov edx, dword [esp + 0x408]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x44c281
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 0x44ab39
mov edx, dword [esp + 0x408]
add ebp, 0xffffffff
jne 0x44ab22
jmp 0x44bfc8
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 0x44c2a7
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 0x44ac4a
mov ebx, dword [esp + 0x608]
mov dword [esp + eax + 0x98], 0
add ecx, 0xffffffff
test ecx, ecx
jl 0x44ad55
cmp ecx, 6
jl 0x44ad3e
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 0x44acee
xor eax, eax
mov dword [esp + ecx*4 + 0x98], eax
mov dword [esp + ecx*4 + 0xd8], eax
add ecx, 0xffffffff
test ecx, ecx
jge 0x44ad3e
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 0x44ada0
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 0x44ad73
mov edx, dword [esp + eax + 0x1ec]
test edx, edx
jne 0x44adb2
add ebx, 0xffffffff
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
je 0x44ada4
mov eax, dword [esp + 0x1f0]
test eax, eax
jle 0x44ae8e
add eax, eax
mov dword [esp + 0x1f0], eax
add esi, 0xffffffff
cmp ebx, 2
jb 0x44ae8e
lea eax, [ebx - 2]
cmp eax, 5
jb 0x44c29d
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 0x44adea
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 0x44ae66
mov eax, dword [esp + ebx*4 + 0x1ec]
test eax, eax
jne 0x4493a2
add ebx, 0xffffffff
jmp 0x4493a2
jl 0x44af44
cmp ebx, 0x37
jl 0x44af36
mov edx, ebx
sar edx, 3
lea ebp, [edx + edx]
movzx eax, word [ebp + 0x495a22]
shr eax, 5
cmp eax, ebx
jg 0x44aece
lea ebp, [edx + edx + 2]
movzx edx, word [ebp + 0x495a20]
mov eax, edx
and eax, 0x1f
movsx ebp, word [eax*2 + 0x495b04]
shr edx, 5
sub ebx, edx
mov dword [esp + 0x94], ebp
shl eax, 4
mov edi, dword [eax + 0x49598c]
mov edx, dword [eax + 0x495988]
mov dword [esp + 0x5cc], edi
mov dword [esp + 0x5d0], edx
mov edx, dword [eax + 0x495984]
mov eax, dword [eax + 0x495980]
mov dword [esp + 0x5d4], edx
mov dword [esp + 0x5d8], eax
mov eax, 4
mov dword [esp + 0x2b4], eax
jmp 0x44afc2
xor eax, eax
mov dword [esp + 0x2b4], eax
jmp 0x44afc2
mov edx, ebx
neg edx
mov ebp, edx
sar ebp, 3
movzx eax, word [ebp*2 + 0x4958a0]
mov edi, eax
shr edi, 5
cmp edi, edx
jge 0x44af6b
movzx eax, word [ebp*2 + 0x4958a2]
mov edi, eax
shr edi, 5
and eax, 0x1f
movsx edx, word [eax*2 + 0x495ae8]
mov dword [esp + 0x94], edx
add ebx, edi
shl eax, 4
mov ebp, dword [eax + 0x49580c]
mov edi, dword [eax + 0x495808]
mov edx, dword [eax + 0x495804]
mov eax, dword [eax + 0x495800]
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 0x44c316
lea eax, [ebx - 0x1b]
test eax, eax
jle 0x44b02b
movsx edx, word [eax*2 + 0x495e7e]
mov ebx, dword [eax*8 + 0x495c9c]
mov ebp, dword [eax*8 + 0x495c98]
mov dword [esp + 0x88], edx
test ebp, ebp
mov dword [esp + 0x430], ebx
mov dword [esp + 0x434], ebp
jne 0x44c300
mov edx, 2
mov dword [esp + 0x4ec], edx
add edx, 0xffffffff
mov ebx, dword [esp + edx*4 + 0x42c]
test ebx, ebx
je 0x44b011
mov dword [esp + 0x4ec], edx
mov ebx, 0x1b
movsx edi, word [ebx*2 + 0x495e7e]
mov edx, dword [ebx*8 + 0x495c9c]
mov ebx, dword [ebx*8 + 0x495c98]
mov dword [esp + 0x50c], edx
test ebx, ebx
mov dword [esp + 0x510], ebx
jne 0x44c2ef
mov ebp, 2
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44b05c
test eax, eax
jle 0x44b578
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 0x44c2e5
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 0x44b0f0
mov dword [esp + eax + 0x4ac], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x44b1f4
cmp ebx, 6
jl 0x44b1dd
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 0x44b18d
xor eax, eax
mov dword [esp + ebx*4 + 0x4ac], eax
mov dword [esp + ebx*4 + 0x46c], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x44b1dd
add ebp, 0xffffffff
je 0x44b2e8
mov edx, dword [esp + 0x4ec]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x44c2c2
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 0x44b230
mov edx, dword [esp + 0x4ec]
add ebp, 0xffffffff
jne 0x44b212
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 0x44b34a
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 0x44b316
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + eax*4 + 0x508]
test edx, edx
jne 0x44b35c
add ebp, 0xffffffff
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
je 0x44b34e
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x44b438
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x44b438
lea eax, [ebp - 2]
cmp eax, 5
jb 0x44bae3
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 0x44b394
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 0x44b410
mov eax, dword [esp + ebp*4 + 0x508]
test eax, eax
jne 0x44b446
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 0x44b571
mov edx, dword [esp + 0x14c]
mov ebp, eax
test edx, edx
je 0x44b490
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x44b4a1
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x44b558
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x44b51f
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 0x44b4f5
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x44b4e6
test ebp, ebp
je 0x44b505
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x44b578
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x44b578
mov ebx, dword [esp + 0x14c]
test ebx, ebx
je 0x44b53d
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x44b544
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x44b578
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44b548
jmp 0x44b578
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 0x44b578
mov edx, dword [esp + ebp*4 + 0x508]
mov eax, dword [esp + 0x2b4]
test eax, eax
je 0x44a97a
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 0x44b67e
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 0x44b5f1
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x608]
mov dword [esp + eax + 0x274], 0
add ebx, 0xffffffff
test ebx, ebx
jl 0x44b703
cmp ebx, 6
jl 0x44b6ec
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 0x44b69c
xor eax, eax
mov dword [esp + ebx*4 + 0x274], eax
mov dword [esp + ebx*4 + 0x234], eax
add ebx, 0xffffffff
test ebx, ebx
jge 0x44b6ec
add ebp, 0xffffffff
je 0x44b7e9
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x4f4], edi
mov dword [esp + 0x4f0], esi
mov esi, edx
test edx, edx
je 0x44bac7
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 0x44b738
mov edx, dword [esp + 0x2b4]
add ebp, 0xffffffff
jne 0x44b721
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 0x44b849
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 0x44b81c
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x44b872
mov eax, dword [esp + 0x14c]
jmp 0x44b859
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x44b856
mov dword [esp + 0x14c], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x44b96a
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x44babb
lea eax, [ebp - 2]
cmp eax, 5
jb 0x44bab1
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 0x44b8b1
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 0x44b934
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x44b96a
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 0x44baa5
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x44b9b4
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x44b9c5
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x44ba89
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x44ba49
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 0x44ba19
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x44ba0a
test ebp, ebp
je 0x44ba2c
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x44a97a
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x44a97a
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x44ba67
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x44ba6e
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x44a97a
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44ba76
jmp 0x44a97a
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 0x44a97a
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x44a97a
mov edx, 2
jmp 0x44b934
mov eax, dword [esp + ebx + 0x508]
jmp 0x44b963
add ebp, 0xffffffff
jne 0x44b721
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x44b7e9
mov edx, 2
jmp 0x44b410
xor eax, eax
jmp 0x448c00
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0x134]
jmp 0x448ef1
mov ecx, dword [esp + 0x6c4]
add dword [ecx], ebx
add eax, 0xffffffff
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x44906b
mov ecx, dword [esp + 0x6ac]
add esi, 1
cmp ecx, esi
jge 0x44bb36
mov esi, ecx
jmp 0x44906b
xor ecx, ecx
jmp 0x448f62
xor ecx, ecx
jmp 0x448f7e
xor ecx, ecx
mov dword [esp + 0x138], ecx
mov ebx, 1
mov dword [esp + 0x22c], ebx
jmp 0x448ef3
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 0x44bb87
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 0x44bba7
test esi, esi
jl 0x44bbb7
mov dword [esp + 0x1ec], 0
jmp 0x448d84
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 0x448b13
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 0x4490b3
mov eax, dword [esp + 0x6b8]
mov dword [esp + 0x1f0], ebp
lea edx, [eax + 1]
jmp 0x448b5f
xor eax, eax
jmp 0x448cc6
mov eax, dword [esp + 0x2c]
test al, 2
jne 0x44bcbe
test al, 0x41
je 0x44bc44
mov eax, edx
test eax, eax
jl 0x44bc62
mov eax, dword [esp + 0x2c]
test al, 0x14
jne 0x44bc6b
mov eax, dword [esp + 0x6c4]
mov dword [eax], edi
neg edi
je 0x449215
jmp 0x4492a1
fstp st(0)
mov esi, eax
jmp 0x448b13
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 0x448b13
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 0x44bbf0
fstp st(0)
mov esi, edx
jmp 0x448b13
fstp st(0)
mov edx, dword [esp + 0x138]
jmp 0x448b5f
xor eax, eax
jmp 0x44925c
xor eax, eax
jmp 0x449332
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 0x449006
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x44abe8
mov ebp, ecx
mov edx, dword [esp + 0x50c]
test edx, edx
jle 0x44be27
add edx, edx
mov dword [esp + 0x50c], edx
add edi, 0xffffffff
cmp ebp, 2
jb 0x44bf97
lea edx, [ebp - 2]
cmp edx, 5
jb 0x44bf8d
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 0x44bd6e
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 0x44bdf1
mov eax, dword [esp + eax + 0x508]
test eax, eax
jne 0x44be27
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 0x44bf7a
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x44be71
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x44be82
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x44bf57
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x44bf14
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 0x44bed6
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x44bec7
test ebp, ebp
je 0x44bef0
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x44abe8
mov eax, dword [esp + 0x1f0]
mov dword [esp + 0x50c], 0x80000000
add edi, 1
mov ebp, 1
mov edx, 0x80000000
jmp 0x44abe8
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x44bf32
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x44bf39
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x44bf4b
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44bf3d
mov eax, dword [esp + 0x1f0]
jmp 0x44abe8
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 0x44abe8
mov eax, dword [esp + 0x1f0]
mov edx, dword [esp + ebp*4 + 0x508]
jmp 0x44abe8
mov ebx, 2
jmp 0x44bdf1
mov eax, dword [esp + eax + 0x508]
jmp 0x44be20
mov eax, dword [esp + 0x510]
mov ebx, 2
jmp 0x4499c6
mov edx, 2
jmp 0x44a0b6
mov edx, 2
jmp 0x44a70c
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 0x44c036
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 0x44c009
mov edx, dword [esp + ebx + 0x508]
test edx, edx
jne 0x44c05f
mov eax, dword [esp + 0x2b4]
jmp 0x44c046
add eax, 0xffffffff
mov ebx, eax
shl ebx, 2
mov edx, dword [esp + ebx + 0x508]
test edx, edx
je 0x44c043
mov dword [esp + 0x2b4], eax
mov ebp, eax
mov eax, dword [esp + 0x50c]
test eax, eax
jle 0x44c157
add eax, eax
mov dword [esp + 0x50c], eax
add edi, 0xffffffff
cmp ebp, 2
jb 0x44c275
lea eax, [ebp - 2]
cmp eax, 5
jb 0x44c26b
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 0x44c09e
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 0x44c121
mov eax, dword [esp + ebx + 0x508]
test eax, eax
jne 0x44c157
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 0x44bf7a
mov edx, dword [esp + 0x2b4]
mov ebp, eax
test edx, edx
je 0x44c1a1
neg ecx
add ecx, 0x1f
mov edx, 1
shl edx, cl
mov dword [esp + 0x608], edx
jmp 0x44c1b2
mov edx, dword [esp + eax*4 + 0x50c]
shr edx, 0x1f
mov dword [esp + 0x608], edx
test eax, eax
je 0x44bf57
mov edx, dword [esp + eax*4 + 0x508]
mov ecx, dword [esp + 0x608]
add edx, ecx
cmp edx, ecx
jae 0x44c224
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 0x44c206
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
cmp edx, 0xffffffff
je 0x44c1f7
test ebp, ebp
je 0x44bef0
mov eax, dword [esp + 0x1f0]
add edx, 1
mov dword [esp + ebp*4 + 0x508], edx
jmp 0x44abe8
mov ebx, dword [esp + 0x2b4]
test ebx, ebx
je 0x44c242
mov ebx, ecx
lea ebx, [ebx + ebx - 1]
not ebx
and edx, ebx
mov dword [esp + eax*4 + 0x508], edx
jmp 0x44c249
mov dword [esp + eax*4 + 0x508], edx
test edx, edx
jne 0x44bf4b
mov edx, dword [esp + ebp*4 + 0x504]
add ebp, 0xffffffff
test edx, edx
je 0x44c251
mov eax, dword [esp + 0x1f0]
jmp 0x44abe8
mov edx, 2
jmp 0x44c121
mov eax, dword [esp + ebx + 0x508]
jmp 0x44c150
add ebp, 0xffffffff
jne 0x44ab22
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
jmp 0x44bfd6
mov edx, 2
jmp 0x44ae66
mov eax, ebp
shl eax, 2
jmp 0x44acd7
mov edx, dword [esp + 0x518]
mov ebp, 4
jmp 0x44a97a
add ebp, 0xffffffff
jne 0x44b212
mov edi, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4f0]
mov dword [esp + 0x4ec], edx
jmp 0x44b2e8
mov eax, ecx
shl eax, 2
jmp 0x44b176
mov edx, dword [esp + 0x510]
mov ebp, 2
jmp 0x44b06a
mov ebx, 0x1b
mov edx, 2
mov dword [esp + 0x4ec], edx
jmp 0x44b02b
movsx edi, word [0x495b04]
mov eax, dword [0x49598c]
mov edx, dword [0x495988]
mov ebx, dword [0x495984]
mov ebp, 4
mov dword [esp + 0x50c], eax
mov dword [esp + 0x510], edx
mov edx, dword [0x495980]
mov dword [esp + 0x514], ebx
mov dword [esp + 0x518], edx
jmp 0x44b578
xor edx, edx
jmp 0x449857
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 0x449006
mov edx, dword [esp + 0x1ec]
xor ebp, ebp
jmp 0x44952e
xor eax, eax
jmp 0x44935c
mov eax, 0x4d104d43
jmp 0x449126
mov eax, dword [esp + 0x6b8]
lea edx, [eax + 1]
jmp 0x448b5f