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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd18
mov esi, esp
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, esp
mov dword [esi + 0xd04], eax
mov dword [esi + 0xd10], 0xffffffff
lea eax, [esi + 0xd08]
mov dword [esi + 0xd0c], 0x475080
mov ecx, dword fs:[0]
mov dword [esi + 0xd08], ecx
mov dword fs:[0], eax
mov dword [esi + 0xd00], 0
mov eax, esp
mov dword [eax], str.127.0.0.1:8080
call fcn.00459d00
mov dword [esi + 0xcf4], 0xf
mov eax, esp
lea ecx, [esi + 0xcf4]
mov dword [eax], ecx
lea ecx, [esi + 0xcf8]
mov dword [esi + 0x610], ecx
call fcn.00466bd0
sub esp, 4
mov ecx, dword [esi + 0x610]
mov eax, esp
mov dword [eax], ecx
call fcn.00466ba0
mov eax, esp
mov dword [eax], 0
call fcn.00459d00
mov eax, esp
mov dword [eax], 0
call fcn.00457120
mov dword [esp], eax
call fcn.00481a3b
lea eax, [esi + 0xbf4]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x100
call fcn.0047aac0
mov dword [esi + 0xbf0], 0
mov eax, dword [esi + 0xbf0]
mov dword [esi + 0x60c], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x60c]
cmp eax, ecx
jae 0x45a710
call fcn.00481a4d
mov dword [esi + 0x604], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0xbf0]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x600], eax
call fcn.00481a4d
mov edx, dword [esi + 0x600]
mov edi, eax
mov eax, dword [esi + 0x604]
mov ecx, dword [esi + 0xbf0]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x608], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x608]
mov dword [eax], ecx
mov eax, dword [esi + 0xbf0]
add eax, 1
mov dword [esi + 0xbf0], eax
jmp 0x45a66f
mov dword [esi + 0xbec], 0x12345678
mov dword [esi + 0xbe8], 0
mov dword [esi + 0xbe4], 0
cmp dword [esi + 0xbe4], 0x20
jge 0x45a851
mov dword [esi + 0xbe0], 0
cmp dword [esi + 0xbe0], 0x40
jge 0x45a83d
mov ecx, dword [esi + 0xbe0]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45a7d8
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0xbe4]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbe0]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0xbe4]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x5fc], eax
mov ecx, dword [esi + 0xbe0]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x5fc]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe0]
add eax, 1
mov dword [esi + 0xbe0], eax
jmp 0x45a745
mov eax, dword [esi + 0xbe4]
add eax, 1
mov dword [esi + 0xbe4], eax
jmp 0x45a72e
mov dword [esi + 0xbdc], 0
mov dword [esi + 0xbd8], 0
cmp dword [esi + 0xbd8], 0x80
jge 0x45a9d7
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbd8]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0xbd8]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x5f0]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x5f4], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x5f8], eax
mov eax, dword [esi + 0xbd8]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x5f4]
mov ecx, edx
mov edx, dword [esi + 0x5f8]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45a9c3
mov dword [esi + 0xbd4], 0
cmp dword [esi + 0xbd4], 0x10
jge 0x45a9be
mov ecx, dword [esi + 0xbd4]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x5ec], eax
mov eax, dword [esi + 0xbd4]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x5ec]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbd4]
add eax, 1
mov dword [esi + 0xbd4], eax
jmp 0x45a93e
jmp 0x45a9c3
mov eax, dword [esi + 0xbd8]
add eax, 1
mov dword [esi + 0xbd8], eax
jmp 0x45a865
mov byte [esi + 0xbd3], 0
test byte [esi + 0xbd3], 1
je 0x45aa02
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45aa14
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0xbcc], 0
mov dword [esi + 0xbc8], 0
cmp dword [esi + 0xbc8], 0x200
jge 0x45aac6
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0xbc8]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0xbc8]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xbc8]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45aab2
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0xbc8]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0xbc8]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xbc8]
add eax, 1
mov dword [esi + 0xbc8], eax
jmp 0x45aa28
mov eax, dword [esi + 0xbcc]
mov eax, esp
mov dword [eax], 0
call fcn.00457120
mov dword [esp], eax
call fcn.00481a3b
mov dword [esi + 0xbc4], 0
mov eax, dword [esi + 0xbc4]
mov dword [esi + 0x5e8], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x5e8]
cmp eax, ecx
jae 0x45ab8c
call fcn.00481a4d
mov dword [esi + 0x5e0], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0xbc4]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x5dc], eax
call fcn.00481a4d
mov edx, dword [esi + 0x5dc]
mov edi, eax
mov eax, dword [esi + 0x5e0]
mov ecx, dword [esi + 0xbc4]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x5e4], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x5e4]
mov dword [eax], ecx
mov eax, dword [esi + 0xbc4]
add eax, 1
mov dword [esi + 0xbc4], eax
jmp 0x45aaeb
mov dword [esi + 0xbc0], 0
cmp dword [esi + 0xbc0], 0x20
jge 0x45acb9
mov dword [esi + 0xbbc], 0
cmp dword [esi + 0xbbc], 0x40
jge 0x45aca5
mov ecx, dword [esi + 0xbbc]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45ac40
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0xbc0]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbbc]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0xbc0]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x5d8], eax
mov ecx, dword [esi + 0xbbc]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x5d8]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbbc]
add eax, 1
mov dword [esi + 0xbbc], eax
jmp 0x45abad
mov eax, dword [esi + 0xbc0]
add eax, 1
mov dword [esi + 0xbc0], eax
jmp 0x45ab96
mov dword [esi + 0xbb8], 0
cmp dword [esi + 0xbb8], 0x80
jge 0x45ae35
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbb8]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x5cc], eax
mov eax, dword [esi + 0xbb8]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x5cc]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x5d0], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x5d4], eax
mov eax, dword [esi + 0xbb8]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x5d0]
mov ecx, edx
mov edx, dword [esi + 0x5d4]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45ae21
mov dword [esi + 0xbb4], 0
cmp dword [esi + 0xbb4], 0x10
jge 0x45ae1c
mov ecx, dword [esi + 0xbb4]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x5c8], eax
mov eax, dword [esi + 0xbb4]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x5c8]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbb4]
add eax, 1
mov dword [esi + 0xbb4], eax
jmp 0x45ad9c
jmp 0x45ae21
mov eax, dword [esi + 0xbb8]
add eax, 1
mov dword [esi + 0xbb8], eax
jmp 0x45acc3
test byte [esi + 0xbd3], 1
je 0x45ae59
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45ae6b
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0xbb0], 0
cmp dword [esi + 0xbb0], 0x200
jge 0x45af13
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0xbb0]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0xbb0]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xbb0]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45aeff
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0xbb0]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0xbb0]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xbb0]
add eax, 1
mov dword [esi + 0xbb0], eax
jmp 0x45ae75
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0xd10], 0xffffffff
mov eax, esp
mov dword [eax], str.HiddenKey1234
lea ecx, [esi + 0xb98]
mov dword [esi + 0x5c4], ecx
call fcn.00457320
sub esp, 4
mov ecx, dword [esi + 0x5c4]
mov dword [esi + 0xd10], 0
mov eax, esp
mov dword [eax], ecx
call fcn.00459a10
jmp 0x45af5d
mov dword [esi + 0xb94], 0
cmp dword [esi + 0xb94], 0x64
jge 0x45b018
mov eax, dword [esi + 0xb94]
mov dword [esi + 0x5c0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5c0]
imul eax, ecx
mov dword [esi + 0xb90], eax
mov ecx, dword [esi + 0xb90]
mov eax, dword [esi + 0xb94]
imul ecx, eax
mov eax, dword [esi + 0xb90]
mov edx, dword [esi + 0xb94]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb90]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb90]
xor eax, ecx
mov dword [esi + 0xb90], eax
mov eax, dword [esi + 0xb90]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b004
mov ecx, dword [esi + 0xb90]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb90]
add eax, ecx
mov dword [esi + 0xb90], eax
mov eax, dword [esi + 0xb94]
add eax, 1
mov dword [esi + 0xb94], eax
jmp 0x45af67
mov dword [esi + 0xb8c], 0
cmp dword [esi + 0xb8c], 0x64
jge 0x45b0d3
mov eax, dword [esi + 0xb8c]
mov dword [esi + 0x5bc], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5bc]
imul eax, ecx
mov dword [esi + 0xb88], eax
mov ecx, dword [esi + 0xb88]
mov eax, dword [esi + 0xb8c]
imul ecx, eax
mov eax, dword [esi + 0xb88]
mov edx, dword [esi + 0xb8c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb88]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb88]
xor eax, ecx
mov dword [esi + 0xb88], eax
mov eax, dword [esi + 0xb88]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b0bf
mov ecx, dword [esi + 0xb88]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb88]
add eax, ecx
mov dword [esi + 0xb88], eax
mov eax, dword [esi + 0xb8c]
add eax, 1
mov dword [esi + 0xb8c], eax
jmp 0x45b022
mov dword [esi + 0xb84], 0
cmp dword [esi + 0xb84], 0x64
jge 0x45b18e
mov eax, dword [esi + 0xb84]
mov dword [esi + 0x5b8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5b8]
imul eax, ecx
mov dword [esi + 0xb80], eax
mov ecx, dword [esi + 0xb80]
mov eax, dword [esi + 0xb84]
imul ecx, eax
mov eax, dword [esi + 0xb80]
mov edx, dword [esi + 0xb84]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb80]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb80]
xor eax, ecx
mov dword [esi + 0xb80], eax
mov eax, dword [esi + 0xb80]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b17a
mov ecx, dword [esi + 0xb80]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb80]
add eax, ecx
mov dword [esi + 0xb80], eax
mov eax, dword [esi + 0xb84]
add eax, 1
mov dword [esi + 0xb84], eax
jmp 0x45b0dd
mov dword [esi + 0xb7c], 0
cmp dword [esi + 0xb7c], 0x64
jge 0x45b249
mov eax, dword [esi + 0xb7c]
mov dword [esi + 0x5b4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5b4]
imul eax, ecx
mov dword [esi + 0xb78], eax
mov ecx, dword [esi + 0xb78]
mov eax, dword [esi + 0xb7c]
imul ecx, eax
mov eax, dword [esi + 0xb78]
mov edx, dword [esi + 0xb7c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb78]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb78]
xor eax, ecx
mov dword [esi + 0xb78], eax
mov eax, dword [esi + 0xb78]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b235
mov ecx, dword [esi + 0xb78]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb78]
add eax, ecx
mov dword [esi + 0xb78], eax
mov eax, dword [esi + 0xb7c]
add eax, 1
mov dword [esi + 0xb7c], eax
jmp 0x45b198
mov dword [esi + 0xb74], 0
cmp dword [esi + 0xb74], 0x64
jge 0x45b304
mov eax, dword [esi + 0xb74]
mov dword [esi + 0x5b0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5b0]
imul eax, ecx
mov dword [esi + 0xb70], eax
mov ecx, dword [esi + 0xb70]
mov eax, dword [esi + 0xb74]
imul ecx, eax
mov eax, dword [esi + 0xb70]
mov edx, dword [esi + 0xb74]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb70]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb70]
xor eax, ecx
mov dword [esi + 0xb70], eax
mov eax, dword [esi + 0xb70]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b2f0
mov ecx, dword [esi + 0xb70]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb70]
add eax, ecx
mov dword [esi + 0xb70], eax
mov eax, dword [esi + 0xb74]
add eax, 1
mov dword [esi + 0xb74], eax
jmp 0x45b253
mov dword [esi + 0xb6c], 0
cmp dword [esi + 0xb6c], 0x64
jge 0x45b3bf
mov eax, dword [esi + 0xb6c]
mov dword [esi + 0x5ac], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5ac]
imul eax, ecx
mov dword [esi + 0xb68], eax
mov ecx, dword [esi + 0xb68]
mov eax, dword [esi + 0xb6c]
imul ecx, eax
mov eax, dword [esi + 0xb68]
mov edx, dword [esi + 0xb6c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb68]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb68]
xor eax, ecx
mov dword [esi + 0xb68], eax
mov eax, dword [esi + 0xb68]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b3ab
mov ecx, dword [esi + 0xb68]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb68]
add eax, ecx
mov dword [esi + 0xb68], eax
mov eax, dword [esi + 0xb6c]
add eax, 1
mov dword [esi + 0xb6c], eax
jmp 0x45b30e
mov dword [esi + 0xb64], 0
cmp dword [esi + 0xb64], 0x64
jge 0x45b47a
mov eax, dword [esi + 0xb64]
mov dword [esi + 0x5a8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5a8]
imul eax, ecx
mov dword [esi + 0xb60], eax
mov ecx, dword [esi + 0xb60]
mov eax, dword [esi + 0xb64]
imul ecx, eax
mov eax, dword [esi + 0xb60]
mov edx, dword [esi + 0xb64]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb60]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb60]
xor eax, ecx
mov dword [esi + 0xb60], eax
mov eax, dword [esi + 0xb60]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b466
mov ecx, dword [esi + 0xb60]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb60]
add eax, ecx
mov dword [esi + 0xb60], eax
mov eax, dword [esi + 0xb64]
add eax, 1
mov dword [esi + 0xb64], eax
jmp 0x45b3c9
mov dword [esi + 0xb5c], 0
cmp dword [esi + 0xb5c], 0x64
jge 0x45b535
mov eax, dword [esi + 0xb5c]
mov dword [esi + 0x5a4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5a4]
imul eax, ecx
mov dword [esi + 0xb58], eax
mov ecx, dword [esi + 0xb58]
mov eax, dword [esi + 0xb5c]
imul ecx, eax
mov eax, dword [esi + 0xb58]
mov edx, dword [esi + 0xb5c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb58]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb58]
xor eax, ecx
mov dword [esi + 0xb58], eax
mov eax, dword [esi + 0xb58]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b521
mov ecx, dword [esi + 0xb58]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb58]
add eax, ecx
mov dword [esi + 0xb58], eax
mov eax, dword [esi + 0xb5c]
add eax, 1
mov dword [esi + 0xb5c], eax
jmp 0x45b484
mov dword [esi + 0xb54], 0
cmp dword [esi + 0xb54], 0x64
jge 0x45b5f0
mov eax, dword [esi + 0xb54]
mov dword [esi + 0x5a0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x5a0]
imul eax, ecx
mov dword [esi + 0xb50], eax
mov ecx, dword [esi + 0xb50]
mov eax, dword [esi + 0xb54]
imul ecx, eax
mov eax, dword [esi + 0xb50]
mov edx, dword [esi + 0xb54]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb50]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb50]
xor eax, ecx
mov dword [esi + 0xb50], eax
mov eax, dword [esi + 0xb50]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b5dc
mov ecx, dword [esi + 0xb50]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb50]
add eax, ecx
mov dword [esi + 0xb50], eax
mov eax, dword [esi + 0xb54]
add eax, 1
mov dword [esi + 0xb54], eax
jmp 0x45b53f
mov dword [esi + 0xb4c], 0
cmp dword [esi + 0xb4c], 0x64
jge 0x45b6ab
mov eax, dword [esi + 0xb4c]
mov dword [esi + 0x59c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x59c]
imul eax, ecx
mov dword [esi + 0xb48], eax
mov ecx, dword [esi + 0xb48]
mov eax, dword [esi + 0xb4c]
imul ecx, eax
mov eax, dword [esi + 0xb48]
mov edx, dword [esi + 0xb4c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb48]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb48]
xor eax, ecx
mov dword [esi + 0xb48], eax
mov eax, dword [esi + 0xb48]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b697
mov ecx, dword [esi + 0xb48]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb48]
add eax, ecx
mov dword [esi + 0xb48], eax
mov eax, dword [esi + 0xb4c]
add eax, 1
mov dword [esi + 0xb4c], eax
jmp 0x45b5fa
mov dword [esi + 0xb44], 0
cmp dword [esi + 0xb44], 0x64
jge 0x45b766
mov eax, dword [esi + 0xb44]
mov dword [esi + 0x598], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x598]
imul eax, ecx
mov dword [esi + 0xb40], eax
mov ecx, dword [esi + 0xb40]
mov eax, dword [esi + 0xb44]
imul ecx, eax
mov eax, dword [esi + 0xb40]
mov edx, dword [esi + 0xb44]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb40]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb40]
xor eax, ecx
mov dword [esi + 0xb40], eax
mov eax, dword [esi + 0xb40]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b752
mov ecx, dword [esi + 0xb40]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb40]
add eax, ecx
mov dword [esi + 0xb40], eax
mov eax, dword [esi + 0xb44]
add eax, 1
mov dword [esi + 0xb44], eax
jmp 0x45b6b5
mov dword [esi + 0xb3c], 0
cmp dword [esi + 0xb3c], 0x64
jge 0x45b821
mov eax, dword [esi + 0xb3c]
mov dword [esi + 0x594], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x594]
imul eax, ecx
mov dword [esi + 0xb38], eax
mov ecx, dword [esi + 0xb38]
mov eax, dword [esi + 0xb3c]
imul ecx, eax
mov eax, dword [esi + 0xb38]
mov edx, dword [esi + 0xb3c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb38]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb38]
xor eax, ecx
mov dword [esi + 0xb38], eax
mov eax, dword [esi + 0xb38]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b80d
mov ecx, dword [esi + 0xb38]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb38]
add eax, ecx
mov dword [esi + 0xb38], eax
mov eax, dword [esi + 0xb3c]
add eax, 1
mov dword [esi + 0xb3c], eax
jmp 0x45b770
mov dword [esi + 0xb34], 0
cmp dword [esi + 0xb34], 0x64
jge 0x45b8dc
mov eax, dword [esi + 0xb34]
mov dword [esi + 0x590], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x590]
imul eax, ecx
mov dword [esi + 0xb30], eax
mov ecx, dword [esi + 0xb30]
mov eax, dword [esi + 0xb34]
imul ecx, eax
mov eax, dword [esi + 0xb30]
mov edx, dword [esi + 0xb34]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb30]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb30]
xor eax, ecx
mov dword [esi + 0xb30], eax
mov eax, dword [esi + 0xb30]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b8c8
mov ecx, dword [esi + 0xb30]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb30]
add eax, ecx
mov dword [esi + 0xb30], eax
mov eax, dword [esi + 0xb34]
add eax, 1
mov dword [esi + 0xb34], eax
jmp 0x45b82b
mov dword [esi + 0xb2c], 0
cmp dword [esi + 0xb2c], 0x64
jge 0x45b997
mov eax, dword [esi + 0xb2c]
mov dword [esi + 0x58c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x58c]
imul eax, ecx
mov dword [esi + 0xb28], eax
mov ecx, dword [esi + 0xb28]
mov eax, dword [esi + 0xb2c]
imul ecx, eax
mov eax, dword [esi + 0xb28]
mov edx, dword [esi + 0xb2c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb28]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb28]
xor eax, ecx
mov dword [esi + 0xb28], eax
mov eax, dword [esi + 0xb28]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45b983
mov ecx, dword [esi + 0xb28]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb28]
add eax, ecx
mov dword [esi + 0xb28], eax
mov eax, dword [esi + 0xb2c]
add eax, 1
mov dword [esi + 0xb2c], eax
jmp 0x45b8e6
mov dword [esi + 0xb24], 0
cmp dword [esi + 0xb24], 0x64
jge 0x45ba52
mov eax, dword [esi + 0xb24]
mov dword [esi + 0x588], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x588]
imul eax, ecx
mov dword [esi + 0xb20], eax
mov ecx, dword [esi + 0xb20]
mov eax, dword [esi + 0xb24]
imul ecx, eax
mov eax, dword [esi + 0xb20]
mov edx, dword [esi + 0xb24]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb20]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb20]
xor eax, ecx
mov dword [esi + 0xb20], eax
mov eax, dword [esi + 0xb20]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45ba3e
mov ecx, dword [esi + 0xb20]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb20]
add eax, ecx
mov dword [esi + 0xb20], eax
mov eax, dword [esi + 0xb24]
add eax, 1
mov dword [esi + 0xb24], eax
jmp 0x45b9a1
mov dword [esi + 0xb1c], 0
cmp dword [esi + 0xb1c], 0x64
jge 0x45bb0d
mov eax, dword [esi + 0xb1c]
mov dword [esi + 0x584], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x584]
imul eax, ecx
mov dword [esi + 0xb18], eax
mov ecx, dword [esi + 0xb18]
mov eax, dword [esi + 0xb1c]
imul ecx, eax
mov eax, dword [esi + 0xb18]
mov edx, dword [esi + 0xb1c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb18]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb18]
xor eax, ecx
mov dword [esi + 0xb18], eax
mov eax, dword [esi + 0xb18]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45baf9
mov ecx, dword [esi + 0xb18]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb18]
add eax, ecx
mov dword [esi + 0xb18], eax
mov eax, dword [esi + 0xb1c]
add eax, 1
mov dword [esi + 0xb1c], eax
jmp 0x45ba5c
mov dword [esi + 0xb14], 0
cmp dword [esi + 0xb14], 0x64
jge 0x45bbc8
mov eax, dword [esi + 0xb14]
mov dword [esi + 0x580], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x580]
imul eax, ecx
mov dword [esi + 0xb10], eax
mov ecx, dword [esi + 0xb10]
mov eax, dword [esi + 0xb14]
imul ecx, eax
mov eax, dword [esi + 0xb10]
mov edx, dword [esi + 0xb14]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb10]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb10]
xor eax, ecx
mov dword [esi + 0xb10], eax
mov eax, dword [esi + 0xb10]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bbb4
mov ecx, dword [esi + 0xb10]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb10]
add eax, ecx
mov dword [esi + 0xb10], eax
mov eax, dword [esi + 0xb14]
add eax, 1
mov dword [esi + 0xb14], eax
jmp 0x45bb17
mov dword [esi + 0xb0c], 0
cmp dword [esi + 0xb0c], 0x64
jge 0x45bc83
mov eax, dword [esi + 0xb0c]
mov dword [esi + 0x57c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x57c]
imul eax, ecx
mov dword [esi + 0xb08], eax
mov ecx, dword [esi + 0xb08]
mov eax, dword [esi + 0xb0c]
imul ecx, eax
mov eax, dword [esi + 0xb08]
mov edx, dword [esi + 0xb0c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb08]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb08]
xor eax, ecx
mov dword [esi + 0xb08], eax
mov eax, dword [esi + 0xb08]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bc6f
mov ecx, dword [esi + 0xb08]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb08]
add eax, ecx
mov dword [esi + 0xb08], eax
mov eax, dword [esi + 0xb0c]
add eax, 1
mov dword [esi + 0xb0c], eax
jmp 0x45bbd2
mov dword [esi + 0xb04], 0
cmp dword [esi + 0xb04], 0x64
jge 0x45bd3e
mov eax, dword [esi + 0xb04]
mov dword [esi + 0x578], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x578]
imul eax, ecx
mov dword [esi + 0xb00], eax
mov ecx, dword [esi + 0xb00]
mov eax, dword [esi + 0xb04]
imul ecx, eax
mov eax, dword [esi + 0xb00]
mov edx, dword [esi + 0xb04]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xb00]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xb00]
xor eax, ecx
mov dword [esi + 0xb00], eax
mov eax, dword [esi + 0xb00]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bd2a
mov ecx, dword [esi + 0xb00]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xb00]
add eax, ecx
mov dword [esi + 0xb00], eax
mov eax, dword [esi + 0xb04]
add eax, 1
mov dword [esi + 0xb04], eax
jmp 0x45bc8d
mov dword [esi + 0xafc], 0
cmp dword [esi + 0xafc], 0x64
jge 0x45bdf9
mov eax, dword [esi + 0xafc]
mov dword [esi + 0x574], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x574]
imul eax, ecx
mov dword [esi + 0xaf8], eax
mov ecx, dword [esi + 0xaf8]
mov eax, dword [esi + 0xafc]
imul ecx, eax
mov eax, dword [esi + 0xaf8]
mov edx, dword [esi + 0xafc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xaf8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xaf8]
xor eax, ecx
mov dword [esi + 0xaf8], eax
mov eax, dword [esi + 0xaf8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bde5
mov ecx, dword [esi + 0xaf8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xaf8]
add eax, ecx
mov dword [esi + 0xaf8], eax
mov eax, dword [esi + 0xafc]
add eax, 1
mov dword [esi + 0xafc], eax
jmp 0x45bd48
mov dword [esi + 0xaf4], 0
cmp dword [esi + 0xaf4], 0x64
jge 0x45beb4
mov eax, dword [esi + 0xaf4]
mov dword [esi + 0x570], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x570]
imul eax, ecx
mov dword [esi + 0xaf0], eax
mov ecx, dword [esi + 0xaf0]
mov eax, dword [esi + 0xaf4]
imul ecx, eax
mov eax, dword [esi + 0xaf0]
mov edx, dword [esi + 0xaf4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xaf0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xaf0]
xor eax, ecx
mov dword [esi + 0xaf0], eax
mov eax, dword [esi + 0xaf0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bea0
mov ecx, dword [esi + 0xaf0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xaf0]
add eax, ecx
mov dword [esi + 0xaf0], eax
mov eax, dword [esi + 0xaf4]
add eax, 1
mov dword [esi + 0xaf4], eax
jmp 0x45be03
mov dword [esi + 0xaec], 0
cmp dword [esi + 0xaec], 0x64
jge 0x45bf6f
mov eax, dword [esi + 0xaec]
mov dword [esi + 0x56c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x56c]
imul eax, ecx
mov dword [esi + 0xae8], eax
mov ecx, dword [esi + 0xae8]
mov eax, dword [esi + 0xaec]
imul ecx, eax
mov eax, dword [esi + 0xae8]
mov edx, dword [esi + 0xaec]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xae8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xae8]
xor eax, ecx
mov dword [esi + 0xae8], eax
mov eax, dword [esi + 0xae8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45bf5b
mov ecx, dword [esi + 0xae8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xae8]
add eax, ecx
mov dword [esi + 0xae8], eax
mov eax, dword [esi + 0xaec]
add eax, 1
mov dword [esi + 0xaec], eax
jmp 0x45bebe
mov dword [esi + 0xae4], 0
cmp dword [esi + 0xae4], 0x64
jge 0x45c02a
mov eax, dword [esi + 0xae4]
mov dword [esi + 0x568], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x568]
imul eax, ecx
mov dword [esi + 0xae0], eax
mov ecx, dword [esi + 0xae0]
mov eax, dword [esi + 0xae4]
imul ecx, eax
mov eax, dword [esi + 0xae0]
mov edx, dword [esi + 0xae4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xae0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xae0]
xor eax, ecx
mov dword [esi + 0xae0], eax
mov eax, dword [esi + 0xae0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c016
mov ecx, dword [esi + 0xae0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xae0]
add eax, ecx
mov dword [esi + 0xae0], eax
mov eax, dword [esi + 0xae4]
add eax, 1
mov dword [esi + 0xae4], eax
jmp 0x45bf79
mov dword [esi + 0xadc], 0
cmp dword [esi + 0xadc], 0x64
jge 0x45c0e5
mov eax, dword [esi + 0xadc]
mov dword [esi + 0x564], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x564]
imul eax, ecx
mov dword [esi + 0xad8], eax
mov ecx, dword [esi + 0xad8]
mov eax, dword [esi + 0xadc]
imul ecx, eax
mov eax, dword [esi + 0xad8]
mov edx, dword [esi + 0xadc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xad8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xad8]
xor eax, ecx
mov dword [esi + 0xad8], eax
mov eax, dword [esi + 0xad8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c0d1
mov ecx, dword [esi + 0xad8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xad8]
add eax, ecx
mov dword [esi + 0xad8], eax
mov eax, dword [esi + 0xadc]
add eax, 1
mov dword [esi + 0xadc], eax
jmp 0x45c034
mov dword [esi + 0xad4], 0
cmp dword [esi + 0xad4], 0x64
jge 0x45c1a0
mov eax, dword [esi + 0xad4]
mov dword [esi + 0x560], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x560]
imul eax, ecx
mov dword [esi + 0xad0], eax
mov ecx, dword [esi + 0xad0]
mov eax, dword [esi + 0xad4]
imul ecx, eax
mov eax, dword [esi + 0xad0]
mov edx, dword [esi + 0xad4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xad0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xad0]
xor eax, ecx
mov dword [esi + 0xad0], eax
mov eax, dword [esi + 0xad0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c18c
mov ecx, dword [esi + 0xad0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xad0]
add eax, ecx
mov dword [esi + 0xad0], eax
mov eax, dword [esi + 0xad4]
add eax, 1
mov dword [esi + 0xad4], eax
jmp 0x45c0ef
mov dword [esi + 0xacc], 0
cmp dword [esi + 0xacc], 0x64
jge 0x466ad1
mov eax, dword [esi + 0xacc]
mov dword [esi + 0x55c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x55c]
imul eax, ecx
mov dword [esi + 0xac8], eax
mov ecx, dword [esi + 0xac8]
mov eax, dword [esi + 0xacc]
imul ecx, eax
mov eax, dword [esi + 0xac8]
mov edx, dword [esi + 0xacc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xac8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xac8]
xor eax, ecx
mov dword [esi + 0xac8], eax
mov eax, dword [esi + 0xac8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c247
mov ecx, dword [esi + 0xac8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xac8]
add eax, ecx
mov dword [esi + 0xac8], eax
mov dword [esi + 0xac4], 0
cmp dword [esi + 0xac4], 0x64
jge 0x45c302
mov eax, dword [esi + 0xac4]
mov dword [esi + 0x558], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x558]
imul eax, ecx
mov dword [esi + 0xac0], eax
mov ecx, dword [esi + 0xac0]
mov eax, dword [esi + 0xac4]
imul ecx, eax
mov eax, dword [esi + 0xac0]
mov edx, dword [esi + 0xac4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xac0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xac0]
xor eax, ecx
mov dword [esi + 0xac0], eax
mov eax, dword [esi + 0xac0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c2ee
mov ecx, dword [esi + 0xac0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xac0]
add eax, ecx
mov dword [esi + 0xac0], eax
mov eax, dword [esi + 0xac4]
add eax, 1
mov dword [esi + 0xac4], eax
jmp 0x45c251
mov dword [esi + 0xabc], 0
cmp dword [esi + 0xabc], 0x64
jge 0x45c3bd
mov eax, dword [esi + 0xabc]
mov dword [esi + 0x554], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x554]
imul eax, ecx
mov dword [esi + 0xab8], eax
mov ecx, dword [esi + 0xab8]
mov eax, dword [esi + 0xabc]
imul ecx, eax
mov eax, dword [esi + 0xab8]
mov edx, dword [esi + 0xabc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xab8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xab8]
xor eax, ecx
mov dword [esi + 0xab8], eax
mov eax, dword [esi + 0xab8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c3a9
mov ecx, dword [esi + 0xab8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xab8]
add eax, ecx
mov dword [esi + 0xab8], eax
mov eax, dword [esi + 0xabc]
add eax, 1
mov dword [esi + 0xabc], eax
jmp 0x45c30c
mov dword [esi + 0xab4], 0
cmp dword [esi + 0xab4], 0x64
jge 0x45c478
mov eax, dword [esi + 0xab4]
mov dword [esi + 0x550], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x550]
imul eax, ecx
mov dword [esi + 0xab0], eax
mov ecx, dword [esi + 0xab0]
mov eax, dword [esi + 0xab4]
imul ecx, eax
mov eax, dword [esi + 0xab0]
mov edx, dword [esi + 0xab4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xab0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xab0]
xor eax, ecx
mov dword [esi + 0xab0], eax
mov eax, dword [esi + 0xab0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c464
mov ecx, dword [esi + 0xab0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xab0]
add eax, ecx
mov dword [esi + 0xab0], eax
mov eax, dword [esi + 0xab4]
add eax, 1
mov dword [esi + 0xab4], eax
jmp 0x45c3c7
mov dword [esi + 0xaac], 0
cmp dword [esi + 0xaac], 0x64
jge 0x45c96b
mov eax, dword [esi + 0xaac]
mov dword [esi + 0x54c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x54c]
imul eax, ecx
mov dword [esi + 0xaa8], eax
mov ecx, dword [esi + 0xaa8]
mov eax, dword [esi + 0xaac]
imul ecx, eax
mov eax, dword [esi + 0xaa8]
mov edx, dword [esi + 0xaac]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xaa8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xaa8]
xor eax, ecx
mov dword [esi + 0xaa8], eax
mov eax, dword [esi + 0xaa8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45c51f
mov ecx, dword [esi + 0xaa8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xaa8]
add eax, ecx
mov dword [esi + 0xaa8], eax
mov dword [esi + 0xaa4], 0
mov eax, dword [esi + 0xaa4]
mov dword [esi + 0x548], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x548]
cmp eax, ecx
jae 0x45c5ca
call fcn.00481a4d
mov dword [esi + 0x540], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0xaa4]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x53c], eax
call fcn.00481a4d
mov edx, dword [esi + 0x53c]
mov edi, eax
mov eax, dword [esi + 0x540]
mov ecx, dword [esi + 0xaa4]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x544], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x544]
mov dword [eax], ecx
mov eax, dword [esi + 0xaa4]
add eax, 1
mov dword [esi + 0xaa4], eax
jmp 0x45c529
mov dword [esi + 0xaa0], 0
cmp dword [esi + 0xaa0], 0x20
jge 0x45c6f7
mov dword [esi + 0xa9c], 0
cmp dword [esi + 0xa9c], 0x40
jge 0x45c6e3
mov ecx, dword [esi + 0xa9c]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45c67e
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0xaa0]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xa9c]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0xaa0]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x538], eax
mov ecx, dword [esi + 0xa9c]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x538]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xa9c]
add eax, 1
mov dword [esi + 0xa9c], eax
jmp 0x45c5eb
mov eax, dword [esi + 0xaa0]
add eax, 1
mov dword [esi + 0xaa0], eax
jmp 0x45c5d4
mov dword [esi + 0xa98], 0
cmp dword [esi + 0xa98], 0x80
jge 0x45c873
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xa98]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x52c], eax
mov eax, dword [esi + 0xa98]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x52c]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x530], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x534], eax
mov eax, dword [esi + 0xa98]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x530]
mov ecx, edx
mov edx, dword [esi + 0x534]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45c85f
mov dword [esi + 0xa94], 0
cmp dword [esi + 0xa94], 0x10
jge 0x45c85a
mov ecx, dword [esi + 0xa94]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x528], eax
mov eax, dword [esi + 0xa94]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x528]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xa94]
add eax, 1
mov dword [esi + 0xa94], eax
jmp 0x45c7da
jmp 0x45c85f
mov eax, dword [esi + 0xa98]
add eax, 1
mov dword [esi + 0xa98], eax
jmp 0x45c701
test byte [esi + 0xbd3], 1
je 0x45c897
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45c8a9
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0xa90], 0
cmp dword [esi + 0xa90], 0x200
jge 0x45c951
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0xa90]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0xa90]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xa90]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45c93d
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0xa90]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0xa90]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0xa90]
add eax, 1
mov dword [esi + 0xa90], eax
jmp 0x45c8b3
mov eax, dword [esi + 0xbcc]
mov eax, dword [esi + 0xaac]
add eax, 1
mov dword [esi + 0xaac], eax
jmp 0x45c482
mov dword [esi + 0xa8c], 0
cmp dword [esi + 0xa8c], 0x64
jge 0x45ca26
mov eax, dword [esi + 0xa8c]
mov dword [esi + 0x524], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x524]
imul eax, ecx
mov dword [esi + 0xa88], eax
mov ecx, dword [esi + 0xa88]
mov eax, dword [esi + 0xa8c]
imul ecx, eax
mov eax, dword [esi + 0xa88]
mov edx, dword [esi + 0xa8c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa88]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa88]
xor eax, ecx
mov dword [esi + 0xa88], eax
mov eax, dword [esi + 0xa88]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45ca12
mov ecx, dword [esi + 0xa88]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa88]
add eax, ecx
mov dword [esi + 0xa88], eax
mov eax, dword [esi + 0xa8c]
add eax, 1
mov dword [esi + 0xa8c], eax
jmp 0x45c975
mov dword [esi + 0xa84], 0
cmp dword [esi + 0xa84], 0x64
jge 0x45cae1
mov eax, dword [esi + 0xa84]
mov dword [esi + 0x520], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x520]
imul eax, ecx
mov dword [esi + 0xa80], eax
mov ecx, dword [esi + 0xa80]
mov eax, dword [esi + 0xa84]
imul ecx, eax
mov eax, dword [esi + 0xa80]
mov edx, dword [esi + 0xa84]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa80]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa80]
xor eax, ecx
mov dword [esi + 0xa80], eax
mov eax, dword [esi + 0xa80]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cacd
mov ecx, dword [esi + 0xa80]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa80]
add eax, ecx
mov dword [esi + 0xa80], eax
mov eax, dword [esi + 0xa84]
add eax, 1
mov dword [esi + 0xa84], eax
jmp 0x45ca30
mov dword [esi + 0xa7c], 0
cmp dword [esi + 0xa7c], 0x64
jge 0x45cb9c
mov eax, dword [esi + 0xa7c]
mov dword [esi + 0x51c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x51c]
imul eax, ecx
mov dword [esi + 0xa78], eax
mov ecx, dword [esi + 0xa78]
mov eax, dword [esi + 0xa7c]
imul ecx, eax
mov eax, dword [esi + 0xa78]
mov edx, dword [esi + 0xa7c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa78]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa78]
xor eax, ecx
mov dword [esi + 0xa78], eax
mov eax, dword [esi + 0xa78]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cb88
mov ecx, dword [esi + 0xa78]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa78]
add eax, ecx
mov dword [esi + 0xa78], eax
mov eax, dword [esi + 0xa7c]
add eax, 1
mov dword [esi + 0xa7c], eax
jmp 0x45caeb
mov dword [esi + 0xa74], 0
cmp dword [esi + 0xa74], 0x64
jge 0x45cc57
mov eax, dword [esi + 0xa74]
mov dword [esi + 0x518], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x518]
imul eax, ecx
mov dword [esi + 0xa70], eax
mov ecx, dword [esi + 0xa70]
mov eax, dword [esi + 0xa74]
imul ecx, eax
mov eax, dword [esi + 0xa70]
mov edx, dword [esi + 0xa74]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa70]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa70]
xor eax, ecx
mov dword [esi + 0xa70], eax
mov eax, dword [esi + 0xa70]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cc43
mov ecx, dword [esi + 0xa70]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa70]
add eax, ecx
mov dword [esi + 0xa70], eax
mov eax, dword [esi + 0xa74]
add eax, 1
mov dword [esi + 0xa74], eax
jmp 0x45cba6
mov dword [esi + 0xa6c], 0
cmp dword [esi + 0xa6c], 0x64
jge 0x45cd12
mov eax, dword [esi + 0xa6c]
mov dword [esi + 0x514], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x514]
imul eax, ecx
mov dword [esi + 0xa68], eax
mov ecx, dword [esi + 0xa68]
mov eax, dword [esi + 0xa6c]
imul ecx, eax
mov eax, dword [esi + 0xa68]
mov edx, dword [esi + 0xa6c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa68]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa68]
xor eax, ecx
mov dword [esi + 0xa68], eax
mov eax, dword [esi + 0xa68]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45ccfe
mov ecx, dword [esi + 0xa68]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa68]
add eax, ecx
mov dword [esi + 0xa68], eax
mov eax, dword [esi + 0xa6c]
add eax, 1
mov dword [esi + 0xa6c], eax
jmp 0x45cc61
mov dword [esi + 0xa64], 0
cmp dword [esi + 0xa64], 0x64
jge 0x45cdcd
mov eax, dword [esi + 0xa64]
mov dword [esi + 0x510], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x510]
imul eax, ecx
mov dword [esi + 0xa60], eax
mov ecx, dword [esi + 0xa60]
mov eax, dword [esi + 0xa64]
imul ecx, eax
mov eax, dword [esi + 0xa60]
mov edx, dword [esi + 0xa64]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa60]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa60]
xor eax, ecx
mov dword [esi + 0xa60], eax
mov eax, dword [esi + 0xa60]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cdb9
mov ecx, dword [esi + 0xa60]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa60]
add eax, ecx
mov dword [esi + 0xa60], eax
mov eax, dword [esi + 0xa64]
add eax, 1
mov dword [esi + 0xa64], eax
jmp 0x45cd1c
mov dword [esi + 0xa5c], 0
cmp dword [esi + 0xa5c], 0x64
jge 0x45ce88
mov eax, dword [esi + 0xa5c]
mov dword [esi + 0x50c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x50c]
imul eax, ecx
mov dword [esi + 0xa58], eax
mov ecx, dword [esi + 0xa58]
mov eax, dword [esi + 0xa5c]
imul ecx, eax
mov eax, dword [esi + 0xa58]
mov edx, dword [esi + 0xa5c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa58]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa58]
xor eax, ecx
mov dword [esi + 0xa58], eax
mov eax, dword [esi + 0xa58]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45ce74
mov ecx, dword [esi + 0xa58]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa58]
add eax, ecx
mov dword [esi + 0xa58], eax
mov eax, dword [esi + 0xa5c]
add eax, 1
mov dword [esi + 0xa5c], eax
jmp 0x45cdd7
mov dword [esi + 0xa54], 0
cmp dword [esi + 0xa54], 0x64
jge 0x45cf43
mov eax, dword [esi + 0xa54]
mov dword [esi + 0x508], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x508]
imul eax, ecx
mov dword [esi + 0xa50], eax
mov ecx, dword [esi + 0xa50]
mov eax, dword [esi + 0xa54]
imul ecx, eax
mov eax, dword [esi + 0xa50]
mov edx, dword [esi + 0xa54]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa50]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa50]
xor eax, ecx
mov dword [esi + 0xa50], eax
mov eax, dword [esi + 0xa50]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cf2f
mov ecx, dword [esi + 0xa50]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa50]
add eax, ecx
mov dword [esi + 0xa50], eax
mov eax, dword [esi + 0xa54]
add eax, 1
mov dword [esi + 0xa54], eax
jmp 0x45ce92
mov dword [esi + 0xa4c], 0
cmp dword [esi + 0xa4c], 0x64
jge 0x45cffe
mov eax, dword [esi + 0xa4c]
mov dword [esi + 0x504], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x504]
imul eax, ecx
mov dword [esi + 0xa48], eax
mov ecx, dword [esi + 0xa48]
mov eax, dword [esi + 0xa4c]
imul ecx, eax
mov eax, dword [esi + 0xa48]
mov edx, dword [esi + 0xa4c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa48]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa48]
xor eax, ecx
mov dword [esi + 0xa48], eax
mov eax, dword [esi + 0xa48]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45cfea
mov ecx, dword [esi + 0xa48]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa48]
add eax, ecx
mov dword [esi + 0xa48], eax
mov eax, dword [esi + 0xa4c]
add eax, 1
mov dword [esi + 0xa4c], eax
jmp 0x45cf4d
mov dword [esi + 0xa44], 0
cmp dword [esi + 0xa44], 0x64
jge 0x45d0b9
mov eax, dword [esi + 0xa44]
mov dword [esi + 0x500], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x500]
imul eax, ecx
mov dword [esi + 0xa40], eax
mov ecx, dword [esi + 0xa40]
mov eax, dword [esi + 0xa44]
imul ecx, eax
mov eax, dword [esi + 0xa40]
mov edx, dword [esi + 0xa44]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa40]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa40]
xor eax, ecx
mov dword [esi + 0xa40], eax
mov eax, dword [esi + 0xa40]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d0a5
mov ecx, dword [esi + 0xa40]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa40]
add eax, ecx
mov dword [esi + 0xa40], eax
mov eax, dword [esi + 0xa44]
add eax, 1
mov dword [esi + 0xa44], eax
jmp 0x45d008
mov dword [esi + 0xa3c], 0
cmp dword [esi + 0xa3c], 0x64
jge 0x45d174
mov eax, dword [esi + 0xa3c]
mov dword [esi + 0x4fc], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4fc]
imul eax, ecx
mov dword [esi + 0xa38], eax
mov ecx, dword [esi + 0xa38]
mov eax, dword [esi + 0xa3c]
imul ecx, eax
mov eax, dword [esi + 0xa38]
mov edx, dword [esi + 0xa3c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa38]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa38]
xor eax, ecx
mov dword [esi + 0xa38], eax
mov eax, dword [esi + 0xa38]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d160
mov ecx, dword [esi + 0xa38]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa38]
add eax, ecx
mov dword [esi + 0xa38], eax
mov eax, dword [esi + 0xa3c]
add eax, 1
mov dword [esi + 0xa3c], eax
jmp 0x45d0c3
mov dword [esi + 0xa34], 0
cmp dword [esi + 0xa34], 0x64
jge 0x45d22f
mov eax, dword [esi + 0xa34]
mov dword [esi + 0x4f8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4f8]
imul eax, ecx
mov dword [esi + 0xa30], eax
mov ecx, dword [esi + 0xa30]
mov eax, dword [esi + 0xa34]
imul ecx, eax
mov eax, dword [esi + 0xa30]
mov edx, dword [esi + 0xa34]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa30]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa30]
xor eax, ecx
mov dword [esi + 0xa30], eax
mov eax, dword [esi + 0xa30]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d21b
mov ecx, dword [esi + 0xa30]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa30]
add eax, ecx
mov dword [esi + 0xa30], eax
mov eax, dword [esi + 0xa34]
add eax, 1
mov dword [esi + 0xa34], eax
jmp 0x45d17e
mov dword [esi + 0xa2c], 0
cmp dword [esi + 0xa2c], 0x64
jge 0x45d2ea
mov eax, dword [esi + 0xa2c]
mov dword [esi + 0x4f4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4f4]
imul eax, ecx
mov dword [esi + 0xa28], eax
mov ecx, dword [esi + 0xa28]
mov eax, dword [esi + 0xa2c]
imul ecx, eax
mov eax, dword [esi + 0xa28]
mov edx, dword [esi + 0xa2c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa28]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa28]
xor eax, ecx
mov dword [esi + 0xa28], eax
mov eax, dword [esi + 0xa28]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d2d6
mov ecx, dword [esi + 0xa28]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa28]
add eax, ecx
mov dword [esi + 0xa28], eax
mov eax, dword [esi + 0xa2c]
add eax, 1
mov dword [esi + 0xa2c], eax
jmp 0x45d239
mov dword [esi + 0xa24], 0
cmp dword [esi + 0xa24], 0x64
jge 0x45d3a5
mov eax, dword [esi + 0xa24]
mov dword [esi + 0x4f0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4f0]
imul eax, ecx
mov dword [esi + 0xa20], eax
mov ecx, dword [esi + 0xa20]
mov eax, dword [esi + 0xa24]
imul ecx, eax
mov eax, dword [esi + 0xa20]
mov edx, dword [esi + 0xa24]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa20]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa20]
xor eax, ecx
mov dword [esi + 0xa20], eax
mov eax, dword [esi + 0xa20]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d391
mov ecx, dword [esi + 0xa20]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa20]
add eax, ecx
mov dword [esi + 0xa20], eax
mov eax, dword [esi + 0xa24]
add eax, 1
mov dword [esi + 0xa24], eax
jmp 0x45d2f4
mov dword [esi + 0xa1c], 0
cmp dword [esi + 0xa1c], 0x64
jge 0x45d460
mov eax, dword [esi + 0xa1c]
mov dword [esi + 0x4ec], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4ec]
imul eax, ecx
mov dword [esi + 0xa18], eax
mov ecx, dword [esi + 0xa18]
mov eax, dword [esi + 0xa1c]
imul ecx, eax
mov eax, dword [esi + 0xa18]
mov edx, dword [esi + 0xa1c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa18]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa18]
xor eax, ecx
mov dword [esi + 0xa18], eax
mov eax, dword [esi + 0xa18]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d44c
mov ecx, dword [esi + 0xa18]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa18]
add eax, ecx
mov dword [esi + 0xa18], eax
mov eax, dword [esi + 0xa1c]
add eax, 1
mov dword [esi + 0xa1c], eax
jmp 0x45d3af
mov dword [esi + 0xa14], 0
cmp dword [esi + 0xa14], 0x64
jge 0x45d51b
mov eax, dword [esi + 0xa14]
mov dword [esi + 0x4e8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4e8]
imul eax, ecx
mov dword [esi + 0xa10], eax
mov ecx, dword [esi + 0xa10]
mov eax, dword [esi + 0xa14]
imul ecx, eax
mov eax, dword [esi + 0xa10]
mov edx, dword [esi + 0xa14]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa10]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa10]
xor eax, ecx
mov dword [esi + 0xa10], eax
mov eax, dword [esi + 0xa10]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d507
mov ecx, dword [esi + 0xa10]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa10]
add eax, ecx
mov dword [esi + 0xa10], eax
mov eax, dword [esi + 0xa14]
add eax, 1
mov dword [esi + 0xa14], eax
jmp 0x45d46a
mov dword [esi + 0xa0c], 0
cmp dword [esi + 0xa0c], 0x64
jge 0x45d5d6
mov eax, dword [esi + 0xa0c]
mov dword [esi + 0x4e4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4e4]
imul eax, ecx
mov dword [esi + 0xa08], eax
mov ecx, dword [esi + 0xa08]
mov eax, dword [esi + 0xa0c]
imul ecx, eax
mov eax, dword [esi + 0xa08]
mov edx, dword [esi + 0xa0c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa08]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa08]
xor eax, ecx
mov dword [esi + 0xa08], eax
mov eax, dword [esi + 0xa08]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d5c2
mov ecx, dword [esi + 0xa08]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa08]
add eax, ecx
mov dword [esi + 0xa08], eax
mov eax, dword [esi + 0xa0c]
add eax, 1
mov dword [esi + 0xa0c], eax
jmp 0x45d525
mov dword [esi + 0xa04], 0
cmp dword [esi + 0xa04], 0x64
jge 0x45d691
mov eax, dword [esi + 0xa04]
mov dword [esi + 0x4e0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4e0]
imul eax, ecx
mov dword [esi + 0xa00], eax
mov ecx, dword [esi + 0xa00]
mov eax, dword [esi + 0xa04]
imul ecx, eax
mov eax, dword [esi + 0xa00]
mov edx, dword [esi + 0xa04]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0xa00]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0xa00]
xor eax, ecx
mov dword [esi + 0xa00], eax
mov eax, dword [esi + 0xa00]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d67d
mov ecx, dword [esi + 0xa00]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0xa00]
add eax, ecx
mov dword [esi + 0xa00], eax
mov eax, dword [esi + 0xa04]
add eax, 1
mov dword [esi + 0xa04], eax
jmp 0x45d5e0
mov dword [esi + 0x9fc], 0
cmp dword [esi + 0x9fc], 0x64
jge 0x45d74c
mov eax, dword [esi + 0x9fc]
mov dword [esi + 0x4dc], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4dc]
imul eax, ecx
mov dword [esi + 0x9f8], eax
mov ecx, dword [esi + 0x9f8]
mov eax, dword [esi + 0x9fc]
imul ecx, eax
mov eax, dword [esi + 0x9f8]
mov edx, dword [esi + 0x9fc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9f8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9f8]
xor eax, ecx
mov dword [esi + 0x9f8], eax
mov eax, dword [esi + 0x9f8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d738
mov ecx, dword [esi + 0x9f8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9f8]
add eax, ecx
mov dword [esi + 0x9f8], eax
mov eax, dword [esi + 0x9fc]
add eax, 1
mov dword [esi + 0x9fc], eax
jmp 0x45d69b
mov dword [esi + 0x9f4], 0
cmp dword [esi + 0x9f4], 0x64
jge 0x45d807
mov eax, dword [esi + 0x9f4]
mov dword [esi + 0x4d8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4d8]
imul eax, ecx
mov dword [esi + 0x9f0], eax
mov ecx, dword [esi + 0x9f0]
mov eax, dword [esi + 0x9f4]
imul ecx, eax
mov eax, dword [esi + 0x9f0]
mov edx, dword [esi + 0x9f4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9f0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9f0]
xor eax, ecx
mov dword [esi + 0x9f0], eax
mov eax, dword [esi + 0x9f0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d7f3
mov ecx, dword [esi + 0x9f0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9f0]
add eax, ecx
mov dword [esi + 0x9f0], eax
mov eax, dword [esi + 0x9f4]
add eax, 1
mov dword [esi + 0x9f4], eax
jmp 0x45d756
mov dword [esi + 0x9ec], 0
cmp dword [esi + 0x9ec], 0x64
jge 0x45d8c2
mov eax, dword [esi + 0x9ec]
mov dword [esi + 0x4d4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4d4]
imul eax, ecx
mov dword [esi + 0x9e8], eax
mov ecx, dword [esi + 0x9e8]
mov eax, dword [esi + 0x9ec]
imul ecx, eax
mov eax, dword [esi + 0x9e8]
mov edx, dword [esi + 0x9ec]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9e8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9e8]
xor eax, ecx
mov dword [esi + 0x9e8], eax
mov eax, dword [esi + 0x9e8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d8ae
mov ecx, dword [esi + 0x9e8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9e8]
add eax, ecx
mov dword [esi + 0x9e8], eax
mov eax, dword [esi + 0x9ec]
add eax, 1
mov dword [esi + 0x9ec], eax
jmp 0x45d811
mov dword [esi + 0x9e4], 0
cmp dword [esi + 0x9e4], 0x64
jge 0x45d97d
mov eax, dword [esi + 0x9e4]
mov dword [esi + 0x4d0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4d0]
imul eax, ecx
mov dword [esi + 0x9e0], eax
mov ecx, dword [esi + 0x9e0]
mov eax, dword [esi + 0x9e4]
imul ecx, eax
mov eax, dword [esi + 0x9e0]
mov edx, dword [esi + 0x9e4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9e0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9e0]
xor eax, ecx
mov dword [esi + 0x9e0], eax
mov eax, dword [esi + 0x9e0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45d969
mov ecx, dword [esi + 0x9e0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9e0]
add eax, ecx
mov dword [esi + 0x9e0], eax
mov eax, dword [esi + 0x9e4]
add eax, 1
mov dword [esi + 0x9e4], eax
jmp 0x45d8cc
mov dword [esi + 0x9dc], 0
cmp dword [esi + 0x9dc], 0x64
jge 0x45da38
mov eax, dword [esi + 0x9dc]
mov dword [esi + 0x4cc], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4cc]
imul eax, ecx
mov dword [esi + 0x9d8], eax
mov ecx, dword [esi + 0x9d8]
mov eax, dword [esi + 0x9dc]
imul ecx, eax
mov eax, dword [esi + 0x9d8]
mov edx, dword [esi + 0x9dc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9d8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9d8]
xor eax, ecx
mov dword [esi + 0x9d8], eax
mov eax, dword [esi + 0x9d8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45da24
mov ecx, dword [esi + 0x9d8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9d8]
add eax, ecx
mov dword [esi + 0x9d8], eax
mov eax, dword [esi + 0x9dc]
add eax, 1
mov dword [esi + 0x9dc], eax
jmp 0x45d987
mov dword [esi + 0x9d4], 0
cmp dword [esi + 0x9d4], 0x64
jge 0x45daf3
mov eax, dword [esi + 0x9d4]
mov dword [esi + 0x4c8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4c8]
imul eax, ecx
mov dword [esi + 0x9d0], eax
mov ecx, dword [esi + 0x9d0]
mov eax, dword [esi + 0x9d4]
imul ecx, eax
mov eax, dword [esi + 0x9d0]
mov edx, dword [esi + 0x9d4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9d0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9d0]
xor eax, ecx
mov dword [esi + 0x9d0], eax
mov eax, dword [esi + 0x9d0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45dadf
mov ecx, dword [esi + 0x9d0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9d0]
add eax, ecx
mov dword [esi + 0x9d0], eax
mov eax, dword [esi + 0x9d4]
add eax, 1
mov dword [esi + 0x9d4], eax
jmp 0x45da42
mov dword [esi + 0x9cc], 0
cmp dword [esi + 0x9cc], 0x64
jge 0x45dbae
mov eax, dword [esi + 0x9cc]
mov dword [esi + 0x4c4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4c4]
imul eax, ecx
mov dword [esi + 0x9c8], eax
mov ecx, dword [esi + 0x9c8]
mov eax, dword [esi + 0x9cc]
imul ecx, eax
mov eax, dword [esi + 0x9c8]
mov edx, dword [esi + 0x9cc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9c8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9c8]
xor eax, ecx
mov dword [esi + 0x9c8], eax
mov eax, dword [esi + 0x9c8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45db9a
mov ecx, dword [esi + 0x9c8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9c8]
add eax, ecx
mov dword [esi + 0x9c8], eax
mov eax, dword [esi + 0x9cc]
add eax, 1
mov dword [esi + 0x9cc], eax
jmp 0x45dafd
mov dword [esi + 0x9c4], 0
cmp dword [esi + 0x9c4], 0x64
jge 0x45dc69
mov eax, dword [esi + 0x9c4]
mov dword [esi + 0x4c0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4c0]
imul eax, ecx
mov dword [esi + 0x9c0], eax
mov ecx, dword [esi + 0x9c0]
mov eax, dword [esi + 0x9c4]
imul ecx, eax
mov eax, dword [esi + 0x9c0]
mov edx, dword [esi + 0x9c4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9c0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9c0]
xor eax, ecx
mov dword [esi + 0x9c0], eax
mov eax, dword [esi + 0x9c0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45dc55
mov ecx, dword [esi + 0x9c0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9c0]
add eax, ecx
mov dword [esi + 0x9c0], eax
mov eax, dword [esi + 0x9c4]
add eax, 1
mov dword [esi + 0x9c4], eax
jmp 0x45dbb8
mov dword [esi + 0x9bc], 0
cmp dword [esi + 0x9bc], 0x64
jge 0x45dd24
mov eax, dword [esi + 0x9bc]
mov dword [esi + 0x4bc], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4bc]
imul eax, ecx
mov dword [esi + 0x9b8], eax
mov ecx, dword [esi + 0x9b8]
mov eax, dword [esi + 0x9bc]
imul ecx, eax
mov eax, dword [esi + 0x9b8]
mov edx, dword [esi + 0x9bc]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9b8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9b8]
xor eax, ecx
mov dword [esi + 0x9b8], eax
mov eax, dword [esi + 0x9b8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45dd10
mov ecx, dword [esi + 0x9b8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9b8]
add eax, ecx
mov dword [esi + 0x9b8], eax
mov eax, dword [esi + 0x9bc]
add eax, 1
mov dword [esi + 0x9bc], eax
jmp 0x45dc73
mov dword [esi + 0x9b4], 0
cmp dword [esi + 0x9b4], 0x64
jge 0x45dddf
mov eax, dword [esi + 0x9b4]
mov dword [esi + 0x4b8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4b8]
imul eax, ecx
mov dword [esi + 0x9b0], eax
mov ecx, dword [esi + 0x9b0]
mov eax, dword [esi + 0x9b4]
imul ecx, eax
mov eax, dword [esi + 0x9b0]
mov edx, dword [esi + 0x9b4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9b0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9b0]
xor eax, ecx
mov dword [esi + 0x9b0], eax
mov eax, dword [esi + 0x9b0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45ddcb
mov ecx, dword [esi + 0x9b0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9b0]
add eax, ecx
mov dword [esi + 0x9b0], eax
mov eax, dword [esi + 0x9b4]
add eax, 1
mov dword [esi + 0x9b4], eax
jmp 0x45dd2e
mov dword [esi + 0x9ac], 0
cmp dword [esi + 0x9ac], 0x64
jge 0x45de9a
mov eax, dword [esi + 0x9ac]
mov dword [esi + 0x4b4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4b4]
imul eax, ecx
mov dword [esi + 0x9a8], eax
mov ecx, dword [esi + 0x9a8]
mov eax, dword [esi + 0x9ac]
imul ecx, eax
mov eax, dword [esi + 0x9a8]
mov edx, dword [esi + 0x9ac]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9a8]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9a8]
xor eax, ecx
mov dword [esi + 0x9a8], eax
mov eax, dword [esi + 0x9a8]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45de86
mov ecx, dword [esi + 0x9a8]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9a8]
add eax, ecx
mov dword [esi + 0x9a8], eax
mov eax, dword [esi + 0x9ac]
add eax, 1
mov dword [esi + 0x9ac], eax
jmp 0x45dde9
mov dword [esi + 0x9a4], 0
cmp dword [esi + 0x9a4], 0x64
jge 0x45df55
mov eax, dword [esi + 0x9a4]
mov dword [esi + 0x4b0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4b0]
imul eax, ecx
mov dword [esi + 0x9a0], eax
mov ecx, dword [esi + 0x9a0]
mov eax, dword [esi + 0x9a4]
imul ecx, eax
mov eax, dword [esi + 0x9a0]
mov edx, dword [esi + 0x9a4]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x9a0]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x9a0]
xor eax, ecx
mov dword [esi + 0x9a0], eax
mov eax, dword [esi + 0x9a0]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45df41
mov ecx, dword [esi + 0x9a0]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x9a0]
add eax, ecx
mov dword [esi + 0x9a0], eax
mov eax, dword [esi + 0x9a4]
add eax, 1
mov dword [esi + 0x9a4], eax
jmp 0x45dea4
mov dword [esi + 0x99c], 0
cmp dword [esi + 0x99c], 0x64
jge 0x45e010
mov eax, dword [esi + 0x99c]
mov dword [esi + 0x4ac], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4ac]
imul eax, ecx
mov dword [esi + 0x998], eax
mov ecx, dword [esi + 0x998]
mov eax, dword [esi + 0x99c]
imul ecx, eax
mov eax, dword [esi + 0x998]
mov edx, dword [esi + 0x99c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x998]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x998]
xor eax, ecx
mov dword [esi + 0x998], eax
mov eax, dword [esi + 0x998]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45dffc
mov ecx, dword [esi + 0x998]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x998]
add eax, ecx
mov dword [esi + 0x998], eax
mov eax, dword [esi + 0x99c]
add eax, 1
mov dword [esi + 0x99c], eax
jmp 0x45df5f
mov dword [esi + 0x994], 0
cmp dword [esi + 0x994], 0x64
jge 0x45e0cb
mov eax, dword [esi + 0x994]
mov dword [esi + 0x4a8], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4a8]
imul eax, ecx
mov dword [esi + 0x990], eax
mov ecx, dword [esi + 0x990]
mov eax, dword [esi + 0x994]
imul ecx, eax
mov eax, dword [esi + 0x990]
mov edx, dword [esi + 0x994]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x990]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x990]
xor eax, ecx
mov dword [esi + 0x990], eax
mov eax, dword [esi + 0x990]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45e0b7
mov ecx, dword [esi + 0x990]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x990]
add eax, ecx
mov dword [esi + 0x990], eax
mov eax, dword [esi + 0x994]
add eax, 1
mov dword [esi + 0x994], eax
jmp 0x45e01a
mov dword [esi + 0x98c], 0
cmp dword [esi + 0x98c], 0x64
jge 0x45e186
mov eax, dword [esi + 0x98c]
mov dword [esi + 0x4a4], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4a4]
imul eax, ecx
mov dword [esi + 0x988], eax
mov ecx, dword [esi + 0x988]
mov eax, dword [esi + 0x98c]
imul ecx, eax
mov eax, dword [esi + 0x988]
mov edx, dword [esi + 0x98c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x988]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x988]
xor eax, ecx
mov dword [esi + 0x988], eax
mov eax, dword [esi + 0x988]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45e172
mov ecx, dword [esi + 0x988]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x988]
add eax, ecx
mov dword [esi + 0x988], eax
mov eax, dword [esi + 0x98c]
add eax, 1
mov dword [esi + 0x98c], eax
jmp 0x45e0d5
mov dword [esi + 0x984], 0
cmp dword [esi + 0x984], 0x64
jge 0x45e241
mov eax, dword [esi + 0x984]
mov dword [esi + 0x4a0], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x4a0]
imul eax, ecx
mov dword [esi + 0x980], eax
mov ecx, dword [esi + 0x980]
mov eax, dword [esi + 0x984]
imul ecx, eax
mov eax, dword [esi + 0x980]
mov edx, dword [esi + 0x984]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x980]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x980]
xor eax, ecx
mov dword [esi + 0x980], eax
mov eax, dword [esi + 0x980]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45e22d
mov ecx, dword [esi + 0x980]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x980]
add eax, ecx
mov dword [esi + 0x980], eax
mov eax, dword [esi + 0x984]
add eax, 1
mov dword [esi + 0x984], eax
jmp 0x45e190
mov dword [esi + 0x97c], 0
cmp dword [esi + 0x97c], 0x64
jge 0x45e2fc
mov eax, dword [esi + 0x97c]
mov dword [esi + 0x49c], eax
call fcn.00481a4d
mov ecx, eax
mov eax, dword [esi + 0x49c]
imul eax, ecx
mov dword [esi + 0x978], eax
mov ecx, dword [esi + 0x978]
mov eax, dword [esi + 0x97c]
imul ecx, eax
mov eax, dword [esi + 0x978]
mov edx, dword [esi + 0x97c]
xor eax, edx
add ecx, eax
mov eax, dword [esi + 0x978]
shl eax, 2
xor ecx, eax
mov eax, dword [esi + 0x978]
xor eax, ecx
mov dword [esi + 0x978], eax
mov eax, dword [esi + 0x978]
mov ecx, 3
cdq
idiv ecx
cmp edx, 0
jne 0x45e2e8
mov ecx, dword [esi + 0x978]
mov eax, esp
mov dword [eax], ecx
call fcn.00459900
mov ecx, eax
mov eax, dword [esi + 0x978]
add eax, ecx
mov dword [esi + 0x978], eax
mov eax, dword [esi + 0x97c]
add eax, 1
mov dword [esi + 0x97c], eax
jmp 0x45e24b
mov dword [esi + 0xd10], 0
lea ecx, [esi + 0x944]
call fcn.00466c00
mov dword [esi + 0x498], eax
jmp 0x45e31c
mov ecx, dword [esi + 0x498]
call fcn.00466ce0
mov dword [esi + 0x494], eax
jmp 0x45e332
mov ecx, dword [esi + 0x494]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x948]
call fcn.00457320
sub esp, 4
jmp 0x45e34f
mov dword [esi + 0xd10], 4
mov eax, esp
lea ecx, [esi + 0x948]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x960]
mov dword [eax], ecx
call fcn.00458e10
jmp 0x45e376
lea ecx, [esi + 0x948]
call fcn.004576b0
mov dword [esi + 0xd10], 1
mov eax, esp
lea ecx, [esi + 0x960]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x92c]
mov dword [eax], ecx
call fcn.004755e0
jmp 0x45e3a8
mov dword [esi + 0x928], 0
mov eax, dword [esi + 0x928]
mov dword [esi + 0x490], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x490]
cmp eax, ecx
jae 0x45e453
call fcn.00481a4d
mov dword [esi + 0x488], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x928]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x484], eax
call fcn.00481a4d
mov edx, dword [esi + 0x484]
mov edi, eax
mov eax, dword [esi + 0x488]
mov ecx, dword [esi + 0x928]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x48c], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x48c]
mov dword [eax], ecx
mov eax, dword [esi + 0x928]
add eax, 1
mov dword [esi + 0x928], eax
jmp 0x45e3b2
mov dword [esi + 0x924], 0
cmp dword [esi + 0x924], 0x20
jge 0x45e580
mov dword [esi + 0x920], 0
cmp dword [esi + 0x920], 0x40
jge 0x45e56c
mov ecx, dword [esi + 0x920]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45e507
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x924]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x920]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x924]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x480], eax
mov ecx, dword [esi + 0x920]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x480]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x920]
add eax, 1
mov dword [esi + 0x920], eax
jmp 0x45e474
mov eax, dword [esi + 0x924]
add eax, 1
mov dword [esi + 0x924], eax
jmp 0x45e45d
mov dword [esi + 0x91c], 0
cmp dword [esi + 0x91c], 0x80
jge 0x45e6fc
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x91c]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x474], eax
mov eax, dword [esi + 0x91c]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x474]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x478], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x47c], eax
mov eax, dword [esi + 0x91c]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x478]
mov ecx, edx
mov edx, dword [esi + 0x47c]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45e6e8
mov dword [esi + 0x918], 0
cmp dword [esi + 0x918], 0x10
jge 0x45e6e3
mov ecx, dword [esi + 0x918]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x470], eax
mov eax, dword [esi + 0x918]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x470]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x918]
add eax, 1
mov dword [esi + 0x918], eax
jmp 0x45e663
jmp 0x45e6e8
mov eax, dword [esi + 0x91c]
add eax, 1
mov dword [esi + 0x91c], eax
jmp 0x45e58a
test byte [esi + 0xbd3], 1
je 0x45e720
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45e732
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x914], 0
cmp dword [esi + 0x914], 0x200
jge 0x45e7da
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x914]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x914]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x914]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45e7c6
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x914]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x914]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x914]
add eax, 1
mov dword [esi + 0x914], eax
jmp 0x45e73c
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x910], 0
mov eax, dword [esi + 0x910]
mov dword [esi + 0x46c], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x46c]
cmp eax, ecx
jae 0x45e88b
call fcn.00481a4d
mov dword [esi + 0x464], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x910]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x460], eax
call fcn.00481a4d
mov edx, dword [esi + 0x460]
mov edi, eax
mov eax, dword [esi + 0x464]
mov ecx, dword [esi + 0x910]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x468], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x468]
mov dword [eax], ecx
mov eax, dword [esi + 0x910]
add eax, 1
mov dword [esi + 0x910], eax
jmp 0x45e7ea
mov dword [esi + 0x90c], 0
cmp dword [esi + 0x90c], 0x20
jge 0x45e9b8
mov dword [esi + 0x908], 0
cmp dword [esi + 0x908], 0x40
jge 0x45e9a4
mov ecx, dword [esi + 0x908]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45e93f
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x90c]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x908]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x90c]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x45c], eax
mov ecx, dword [esi + 0x908]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x45c]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x908]
add eax, 1
mov dword [esi + 0x908], eax
jmp 0x45e8ac
mov eax, dword [esi + 0x90c]
add eax, 1
mov dword [esi + 0x90c], eax
jmp 0x45e895
mov dword [esi + 0x904], 0
cmp dword [esi + 0x904], 0x80
jge 0x45eb34
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x904]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x450], eax
mov eax, dword [esi + 0x904]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x450]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x454], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x458], eax
mov eax, dword [esi + 0x904]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x454]
mov ecx, edx
mov edx, dword [esi + 0x458]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45eb20
mov dword [esi + 0x900], 0
cmp dword [esi + 0x900], 0x10
jge 0x45eb1b
mov ecx, dword [esi + 0x900]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x44c], eax
mov eax, dword [esi + 0x900]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x44c]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x900]
add eax, 1
mov dword [esi + 0x900], eax
jmp 0x45ea9b
jmp 0x45eb20
mov eax, dword [esi + 0x904]
add eax, 1
mov dword [esi + 0x904], eax
jmp 0x45e9c2
test byte [esi + 0xbd3], 1
je 0x45eb58
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45eb6a
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x8fc], 0
cmp dword [esi + 0x8fc], 0x200
jge 0x45ec12
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x8fc]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x8fc]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8fc]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45ebfe
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x8fc]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x8fc]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8fc]
add eax, 1
mov dword [esi + 0x8fc], eax
jmp 0x45eb74
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x8f8], 0
mov eax, dword [esi + 0x8f8]
mov dword [esi + 0x448], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x448]
cmp eax, ecx
jae 0x45ecc3
call fcn.00481a4d
mov dword [esi + 0x440], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x8f8]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x43c], eax
call fcn.00481a4d
mov edx, dword [esi + 0x43c]
mov edi, eax
mov eax, dword [esi + 0x440]
mov ecx, dword [esi + 0x8f8]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x444], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x444]
mov dword [eax], ecx
mov eax, dword [esi + 0x8f8]
add eax, 1
mov dword [esi + 0x8f8], eax
jmp 0x45ec22
mov dword [esi + 0x8f4], 0
cmp dword [esi + 0x8f4], 0x20
jge 0x45edf0
mov dword [esi + 0x8f0], 0
cmp dword [esi + 0x8f0], 0x40
jge 0x45eddc
mov ecx, dword [esi + 0x8f0]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45ed77
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x8f4]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x8f0]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x8f4]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x438], eax
mov ecx, dword [esi + 0x8f0]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x438]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x8f0]
add eax, 1
mov dword [esi + 0x8f0], eax
jmp 0x45ece4
mov eax, dword [esi + 0x8f4]
add eax, 1
mov dword [esi + 0x8f4], eax
jmp 0x45eccd
mov dword [esi + 0x8ec], 0
cmp dword [esi + 0x8ec], 0x80
jge 0x45ef6c
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x8ec]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0x8ec]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x42c]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x434], eax
mov eax, dword [esi + 0x8ec]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x430]
mov ecx, edx
mov edx, dword [esi + 0x434]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45ef58
mov dword [esi + 0x8e8], 0
cmp dword [esi + 0x8e8], 0x10
jge 0x45ef53
mov ecx, dword [esi + 0x8e8]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x8e8]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x428]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x8e8]
add eax, 1
mov dword [esi + 0x8e8], eax
jmp 0x45eed3
jmp 0x45ef58
mov eax, dword [esi + 0x8ec]
add eax, 1
mov dword [esi + 0x8ec], eax
jmp 0x45edfa
test byte [esi + 0xbd3], 1
je 0x45ef90
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45efa2
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x8e4], 0
cmp dword [esi + 0x8e4], 0x200
jge 0x45f04a
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x8e4]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x8e4]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8e4]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45f036
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x8e4]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x8e4]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8e4]
add eax, 1
mov dword [esi + 0x8e4], eax
jmp 0x45efac
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x8e0], 0
mov eax, dword [esi + 0x8e0]
mov dword [esi + 0x424], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x424]
cmp eax, ecx
jae 0x45f0fb
call fcn.00481a4d
mov dword [esi + 0x41c], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x8e0]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x418], eax
call fcn.00481a4d
mov edx, dword [esi + 0x418]
mov edi, eax
mov eax, dword [esi + 0x41c]
mov ecx, dword [esi + 0x8e0]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x420], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x420]
mov dword [eax], ecx
mov eax, dword [esi + 0x8e0]
add eax, 1
mov dword [esi + 0x8e0], eax
jmp 0x45f05a
mov dword [esi + 0x8dc], 0
cmp dword [esi + 0x8dc], 0x20
jge 0x45f228
mov dword [esi + 0x8d8], 0
cmp dword [esi + 0x8d8], 0x40
jge 0x45f214
mov ecx, dword [esi + 0x8d8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45f1af
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x8dc]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x8d8]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x8dc]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x414], eax
mov ecx, dword [esi + 0x8d8]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x414]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x8d8]
add eax, 1
mov dword [esi + 0x8d8], eax
jmp 0x45f11c
mov eax, dword [esi + 0x8dc]
add eax, 1
mov dword [esi + 0x8dc], eax
jmp 0x45f105
mov dword [esi + 0x8d4], 0
cmp dword [esi + 0x8d4], 0x80
jge 0x45f3a4
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x8d4]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x408], eax
mov eax, dword [esi + 0x8d4]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x408]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x40c], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x8d4]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x40c]
mov ecx, edx
mov edx, dword [esi + 0x410]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45f390
mov dword [esi + 0x8d0], 0
cmp dword [esi + 0x8d0], 0x10
jge 0x45f38b
mov ecx, dword [esi + 0x8d0]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x404], eax
mov eax, dword [esi + 0x8d0]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x404]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x8d0]
add eax, 1
mov dword [esi + 0x8d0], eax
jmp 0x45f30b
jmp 0x45f390
mov eax, dword [esi + 0x8d4]
add eax, 1
mov dword [esi + 0x8d4], eax
jmp 0x45f232
test byte [esi + 0xbd3], 1
je 0x45f3c8
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45f3da
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x8cc], 0
cmp dword [esi + 0x8cc], 0x200
jge 0x45f482
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x8cc]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x8cc]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8cc]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45f46e
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x8cc]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x8cc]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8cc]
add eax, 1
mov dword [esi + 0x8cc], eax
jmp 0x45f3e4
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x8c8], 0
mov eax, dword [esi + 0x8c8]
mov dword [esi + 0x400], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x400]
cmp eax, ecx
jae 0x45f533
call fcn.00481a4d
mov dword [esi + 0x3f8], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x8c8]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x3f4], eax
call fcn.00481a4d
mov edx, dword [esi + 0x3f4]
mov edi, eax
mov eax, dword [esi + 0x3f8]
mov ecx, dword [esi + 0x8c8]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x3fc], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x3fc]
mov dword [eax], ecx
mov eax, dword [esi + 0x8c8]
add eax, 1
mov dword [esi + 0x8c8], eax
jmp 0x45f492
mov dword [esi + 0x8c4], 0
cmp dword [esi + 0x8c4], 0x20
jge 0x45f660
mov dword [esi + 0x8c0], 0
cmp dword [esi + 0x8c0], 0x40
jge 0x45f64c
mov ecx, dword [esi + 0x8c0]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45f5e7
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x8c4]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x8c0]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x8c4]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x3f0], eax
mov ecx, dword [esi + 0x8c0]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x3f0]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x8c0]
add eax, 1
mov dword [esi + 0x8c0], eax
jmp 0x45f554
mov eax, dword [esi + 0x8c4]
add eax, 1
mov dword [esi + 0x8c4], eax
jmp 0x45f53d
mov dword [esi + 0x8bc], 0
cmp dword [esi + 0x8bc], 0x80
jge 0x45f7dc
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x8bc]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x3e4], eax
mov eax, dword [esi + 0x8bc]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x3e4]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x3e8], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x3ec], eax
mov eax, dword [esi + 0x8bc]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x3e8]
mov ecx, edx
mov edx, dword [esi + 0x3ec]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45f7c8
mov dword [esi + 0x8b8], 0
cmp dword [esi + 0x8b8], 0x10
jge 0x45f7c3
mov ecx, dword [esi + 0x8b8]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x3e0], eax
mov eax, dword [esi + 0x8b8]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x3e0]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x8b8]
add eax, 1
mov dword [esi + 0x8b8], eax
jmp 0x45f743
jmp 0x45f7c8
mov eax, dword [esi + 0x8bc]
add eax, 1
mov dword [esi + 0x8bc], eax
jmp 0x45f66a
test byte [esi + 0xbd3], 1
je 0x45f800
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45f812
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x8b4], 0
cmp dword [esi + 0x8b4], 0x200
jge 0x45f8ba
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x8b4]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x8b4]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8b4]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45f8a6
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x8b4]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x8b4]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x8b4]
add eax, 1
mov dword [esi + 0x8b4], eax
jmp 0x45f81c
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x8b0], 0
mov eax, dword [esi + 0x8b0]
mov dword [esi + 0x3dc], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x3dc]
cmp eax, ecx
jae 0x45f96b
call fcn.00481a4d
mov dword [esi + 0x3d4], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x8b0]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x3d0], eax
call fcn.00481a4d
mov edx, dword [esi + 0x3d0]
mov edi, eax
mov eax, dword [esi + 0x3d4]
mov ecx, dword [esi + 0x8b0]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x3d8], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x3d8]
mov dword [eax], ecx
mov eax, dword [esi + 0x8b0]
add eax, 1
mov dword [esi + 0x8b0], eax
jmp 0x45f8ca
mov dword [esi + 0x8ac], 0
cmp dword [esi + 0x8ac], 0x20
jge 0x45fa98
mov dword [esi + 0x8a8], 0
cmp dword [esi + 0x8a8], 0x40
jge 0x45fa84
mov ecx, dword [esi + 0x8a8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45fa1f
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x8ac]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x8a8]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x8ac]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x3cc], eax
mov ecx, dword [esi + 0x8a8]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x3cc]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x8a8]
add eax, 1
mov dword [esi + 0x8a8], eax
jmp 0x45f98c
mov eax, dword [esi + 0x8ac]
add eax, 1
mov dword [esi + 0x8ac], eax
jmp 0x45f975
mov dword [esi + 0x8a4], 0
cmp dword [esi + 0x8a4], 0x80
jge 0x45fc14
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x8a4]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x3c0], eax
mov eax, dword [esi + 0x8a4]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x3c0]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x3c4], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x3c8], eax
mov eax, dword [esi + 0x8a4]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x3c4]
mov ecx, edx
mov edx, dword [esi + 0x3c8]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x45fc00
mov dword [esi + 0x8a0], 0
cmp dword [esi + 0x8a0], 0x10
jge 0x45fbfb
mov ecx, dword [esi + 0x8a0]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x3bc], eax
mov eax, dword [esi + 0x8a0]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x3bc]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x8a0]
add eax, 1
mov dword [esi + 0x8a0], eax
jmp 0x45fb7b
jmp 0x45fc00
mov eax, dword [esi + 0x8a4]
add eax, 1
mov dword [esi + 0x8a4], eax
jmp 0x45faa2
test byte [esi + 0xbd3], 1
je 0x45fc38
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x45fc4a
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x89c], 0
cmp dword [esi + 0x89c], 0x200
jge 0x45fcf2
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x89c]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x89c]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x89c]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x45fcde
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x89c]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x89c]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x89c]
add eax, 1
mov dword [esi + 0x89c], eax
jmp 0x45fc54
mov dword [esi + 0x898], 0
mov eax, dword [esi + 0x898]
mov dword [esi + 0x3b8], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x3b8]
cmp eax, ecx
jae 0x45fd9d
call fcn.00481a4d
mov dword [esi + 0x3b0], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x898]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x3ac], eax
call fcn.00481a4d
mov edx, dword [esi + 0x3ac]
mov edi, eax
mov eax, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x898]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x3b4], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x3b4]
mov dword [eax], ecx
mov eax, dword [esi + 0x898]
add eax, 1
mov dword [esi + 0x898], eax
jmp 0x45fcfc
mov dword [esi + 0x894], 0
cmp dword [esi + 0x894], 0x20
jge 0x45feca
mov dword [esi + 0x890], 0
cmp dword [esi + 0x890], 0x40
jge 0x45feb6
mov ecx, dword [esi + 0x890]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x45fe51
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x894]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x890]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x894]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x3a8], eax
mov ecx, dword [esi + 0x890]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x3a8]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x890]
add eax, 1
mov dword [esi + 0x890], eax
jmp 0x45fdbe
mov eax, dword [esi + 0x894]
add eax, 1
mov dword [esi + 0x894], eax
jmp 0x45fda7
mov dword [esi + 0x88c], 0
cmp dword [esi + 0x88c], 0x80
jge 0x460046
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x88c]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x39c], eax
mov eax, dword [esi + 0x88c]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x39c]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x3a0], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x3a4], eax
mov eax, dword [esi + 0x88c]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x3a0]
mov ecx, edx
mov edx, dword [esi + 0x3a4]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x460032
mov dword [esi + 0x888], 0
cmp dword [esi + 0x888], 0x10
jge 0x46002d
mov ecx, dword [esi + 0x888]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x398], eax
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x398]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x888]
add eax, 1
mov dword [esi + 0x888], eax
jmp 0x45ffad
jmp 0x460032
mov eax, dword [esi + 0x88c]
add eax, 1
mov dword [esi + 0x88c], eax
jmp 0x45fed4
test byte [esi + 0xbd3], 1
je 0x46006a
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x46007c
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x884], 0
cmp dword [esi + 0x884], 0x200
jge 0x460124
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x884]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x884]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x884]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x460110
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x884]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x884]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x884]
add eax, 1
mov dword [esi + 0x884], eax
jmp 0x460086
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x880], 0
mov eax, dword [esi + 0x880]
mov dword [esi + 0x394], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x394]
cmp eax, ecx
jae 0x4601d5
call fcn.00481a4d
mov dword [esi + 0x38c], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x880]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x388], eax
call fcn.00481a4d
mov edx, dword [esi + 0x388]
mov edi, eax
mov eax, dword [esi + 0x38c]
mov ecx, dword [esi + 0x880]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x390], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x390]
mov dword [eax], ecx
mov eax, dword [esi + 0x880]
add eax, 1
mov dword [esi + 0x880], eax
jmp 0x460134
mov dword [esi + 0x87c], 0
cmp dword [esi + 0x87c], 0x20
jge 0x460302
mov dword [esi + 0x878], 0
cmp dword [esi + 0x878], 0x40
jge 0x4602ee
mov ecx, dword [esi + 0x878]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x460289
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x87c]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x878]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x87c]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x384], eax
mov ecx, dword [esi + 0x878]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x384]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x878]
add eax, 1
mov dword [esi + 0x878], eax
jmp 0x4601f6
mov eax, dword [esi + 0x87c]
add eax, 1
mov dword [esi + 0x87c], eax
jmp 0x4601df
mov dword [esi + 0x874], 0
cmp dword [esi + 0x874], 0x80
jge 0x46047e
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x874]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x378], eax
mov eax, dword [esi + 0x874]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x378]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x37c], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x380], eax
mov eax, dword [esi + 0x874]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x37c]
mov ecx, edx
mov edx, dword [esi + 0x380]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x46046a
mov dword [esi + 0x870], 0
cmp dword [esi + 0x870], 0x10
jge 0x460465
mov ecx, dword [esi + 0x870]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x374], eax
mov eax, dword [esi + 0x870]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x374]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x870]
add eax, 1
mov dword [esi + 0x870], eax
jmp 0x4603e5
jmp 0x46046a
mov eax, dword [esi + 0x874]
add eax, 1
mov dword [esi + 0x874], eax
jmp 0x46030c
test byte [esi + 0xbd3], 1
je 0x4604a2
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x4604b4
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x86c], 0
cmp dword [esi + 0x86c], 0x200
jge 0x46055c
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x86c]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x86c]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x86c]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x460548
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x86c]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x86c]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x86c]
add eax, 1
mov dword [esi + 0x86c], eax
jmp 0x4604be
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x868], 0
mov eax, dword [esi + 0x868]
mov dword [esi + 0x370], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x370]
cmp eax, ecx
jae 0x46060d
call fcn.00481a4d
mov dword [esi + 0x368], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x868]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x364], eax
call fcn.00481a4d
mov edx, dword [esi + 0x364]
mov edi, eax
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x868]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x36c], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x36c]
mov dword [eax], ecx
mov eax, dword [esi + 0x868]
add eax, 1
mov dword [esi + 0x868], eax
jmp 0x46056c
mov dword [esi + 0x864], 0
cmp dword [esi + 0x864], 0x20
jge 0x46073a
mov dword [esi + 0x860], 0
cmp dword [esi + 0x860], 0x40
jge 0x460726
mov ecx, dword [esi + 0x860]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov ecx, dword [esi + 0xbec]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
xor eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0xbe8]
and eax, 0x1f
cmp eax, 0
jne 0x4606c1
mov eax, dword [esi + 0xbec]
shl eax, 3
mov ecx, dword [esi + 0x864]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0x860]
and ecx, 0xff
mov edx, dword [esi + 0xbec]
or edx, dword [esi + 0x864]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbe8]
mov dword [esi + 0xbe8], eax
mov ecx, dword [esi + 0xbe8]
mov eax, ecx
shl eax, 3
sar ecx, 5
xor eax, ecx
mov dword [esi + 0x360], eax
mov ecx, dword [esi + 0x860]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, eax
mov eax, dword [esi + 0x360]
mov ecx, dword [ecx]
xor eax, ecx
mov dword [esi + 0xbe8], eax
mov eax, dword [esi + 0x860]
add eax, 1
mov dword [esi + 0x860], eax
jmp 0x46062e
mov eax, dword [esi + 0x864]
add eax, 1
mov dword [esi + 0x864], eax
jmp 0x460617
mov dword [esi + 0x85c], 0
cmp dword [esi + 0x85c], 0x80
jge 0x4608b6
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0x85c]
mov ecx, dword [esi + 0xbe8]
shl ecx, 3
mov edx, dword [esi + 0xbdc]
sar edx, 2
xor ecx, edx
mov edx, dword [esi + 0xbec]
and edx, 0xff
mov edi, dword [esi + 0xbe8]
or edi, dword [esi + 0xbdc]
xor edx, edi
add ecx, edx
xor eax, ecx
xor eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x354], eax
mov eax, dword [esi + 0x85c]
mov ecx, 8
cdq
idiv ecx
mov eax, dword [esi + 0x354]
mov ecx, edx
shl eax, cl
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0xbdc]
mov dword [esi + 0x35c], eax
mov eax, dword [esi + 0x85c]
mov ecx, 5
cdq
idiv ecx
mov eax, dword [esi + 0x358]
mov ecx, edx
mov edx, dword [esi + 0x35c]
sar edx, cl
mov ecx, edx
add eax, ecx
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0xbdc]
mov ecx, 7
cdq
idiv ecx
cmp edx, 0
jne 0x4608a2
mov dword [esi + 0x858], 0
cmp dword [esi + 0x858], 0x10
jge 0x46089d
mov ecx, dword [esi + 0x858]
mov edx, ecx
add edx, 0x3f
test ecx, ecx
mov eax, ecx
cmovs eax, edx
and eax, 0xffffffc0
sub ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov eax, dword [eax]
mov dword [esi + 0x350], eax
mov eax, dword [esi + 0x858]
mov ecx, dword [esi + 0xbdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00457180
mov ecx, eax
mov eax, dword [esi + 0x350]
xor eax, ecx
add eax, dword [esi + 0xbdc]
mov dword [esi + 0xbdc], eax
mov eax, dword [esi + 0x858]
add eax, 1
mov dword [esi + 0x858], eax
jmp 0x46081d
jmp 0x4608a2
mov eax, dword [esi + 0x85c]
add eax, 1
mov dword [esi + 0x85c], eax
jmp 0x460744
test byte [esi + 0xbd3], 1
je 0x4608da
mov eax, dword [esi + 0xbdc]
xor eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
jmp 0x4608ec
mov eax, dword [esi + 0xbe8]
add eax, dword [esi + 0xbec]
mov dword [esi + 0xbec], eax
mov dword [esi + 0x854], 0
cmp dword [esi + 0x854], 0x200
jge 0x460994
mov eax, dword [esi + 0xbec]
add eax, dword [esi + 0x854]
mov ecx, dword [esi + 0xbdc]
sub ecx, dword [esi + 0x854]
imul eax, ecx
xor eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x854]
mov ecx, 0x10
cdq
idiv ecx
cmp edx, 0
jne 0x460980
mov eax, dword [esi + 0xbcc]
shl eax, 3
mov ecx, dword [esi + 0x854]
sar ecx, 2
xor eax, ecx
mov ecx, dword [esi + 0xbdc]
and ecx, 0xff
mov edx, dword [esi + 0xbcc]
or edx, dword [esi + 0x854]
xor ecx, edx
add eax, ecx
add eax, dword [esi + 0xbcc]
mov dword [esi + 0xbcc], eax
mov eax, dword [esi + 0x854]
add eax, 1
mov dword [esi + 0x854], eax
jmp 0x4608f6
mov eax, dword [esi + 0xbcc]
mov dword [esi + 0x850], 0
mov eax, dword [esi + 0x850]
mov dword [esi + 0x34c], eax
lea ecx, [esi + 0xbf4]
call fcn.00457140
mov ecx, eax
mov eax, dword [esi + 0x34c]
cmp eax, ecx
jae 0x460a45
call fcn.00481a4d
mov dword [esi + 0x344], eax
call fcn.00481a4d
shl eax, 3
mov ecx, dword [esi + 0x850]
sar ecx, 2
xor eax, ecx
mov dword [esi + 0x340], eax
call fcn.00481a4d
mov edx, dword [esi + 0x340]
mov edi, eax
mov eax, dword [esi + 0x344]
mov ecx, dword [esi + 0x850]
or edi, ecx
xor edi, 0x40
add edx, edi
xor eax, edx
mov dword [esi + 0x348], eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xbf4]
call fcn.00457160
sub esp, 4
mov ecx, dword [esi + 0x348]
mov dword [eax], ecx
mov eax, dword [esi + 0x850]
add eax, 1
mov dword [esi + 0x850], eax
jmp 0x4609a4
mov dword [esi + 0x84c], 0
cmp dword [esi + 0x84c], 0x20
jge 0x460b72
lea ecx, [esi + 0xb98]
call fcn.004576b0
mov eax, dword [esi + 0xd00]
mov ecx, dword [esi + 0xd08]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10