Function at 0x453668
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x453670
push ebx
push esi
push edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
call fcn.0040340c
lea eax, [ebp - 0x2c]
mov edx, dword [0x4135a4]
call fcn.00403694
xor eax, eax
push ebp
push 0x456bea
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00453368
xor ecx, ecx
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.0041501c
mov edx, 0xa86d04
mov ecx, 0x12f
lea eax, [ebp - 0x2c]
call fcn.00415898
mov eax, dword [0xa86d10]
add eax, 2
mov dword [0x63641c], eax
mov eax, dword [0xa86d14]
add eax, 2
mov dword [0x636420], eax
mov edx, dword [0x63641c]
imul edx, dword [0x636420]
add edx, 4
mov eax, 0x636410
call fcn.004139d8
mov eax, dword [0xa86d10]
add eax, 8
mov dword [0x636424], eax
mov eax, dword [0xa86d14]
add eax, 8
mov dword [0x636428], eax
mov eax, dword [0x636424]
imul dword [0x636428]
mov edx, eax
add edx, edx
lea edx, [edx + edx*8]
mov eax, 0x636414
call fcn.004139d8
mov eax, dword [0x636424]
imul dword [0x636428]
mov edx, eax
add edx, edx
lea edx, [edx + edx*8]
mov eax, dword [0x636414]
call fcn.00404364
mov eax, dword [0xa86d28]
mov ecx, 0x166
cdq
idiv ecx
mov dword [0x636434], eax
mov eax, dword [0xa86d2c]
mov ecx, 0x59
cdq
idiv ecx
mov dword [0x636438], eax
mov eax, dword [0xa86d30]
mov ecx, 0x63
cdq
idiv ecx
mov dword [0x63643c], eax
mov eax, dword [0xa86d34]
mov ecx, 0xab
cdq
idiv ecx
mov dword [0x636440], eax
mov eax, 0x636444
mov edx, dword [0xa86d28]
call fcn.004139d8
mov eax, 0x636448
mov edx, dword [0xa86d2c]
call fcn.004139d8
mov eax, 0x63644c
mov edx, dword [0xa86d30]
call fcn.004139d8
mov edx, dword [0xa86d34]
add edx, 0x2ac
mov eax, 0x636450
call fcn.004139d8
mov eax, dword [0x636440]
add eax, 4
imul edx, eax, 0xab
mov eax, dword [0x636450]
call fcn.00404364
mov edx, dword [0x636438]
shl edx, 2
lea edx, [edx + edx*2]
mov eax, 0x636468
call fcn.004139d8
mov edx, dword [0x636434]
shl edx, 2
lea edx, [edx + edx*2]
mov eax, 0x63646c
call fcn.004139d8
mov eax, dword [0x636440]
add eax, 4
mov edx, eax
shl edx, 2
lea edx, [edx + edx*2]
mov eax, 0x636470
call fcn.004139d8
lea eax, [ebp - 0xa4]
mov edx, dword [0xa86d20]
call fcn.004139d8
lea eax, [ebp - 0xa8]
mov edx, dword [0xa86d24]
call fcn.004139d8
mov edx, dword [ebp - 0xa4]
mov ecx, dword [0xa86d20]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov edx, dword [ebp - 0xa8]
mov ecx, dword [0xa86d24]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov edx, dword [0x636444]
mov ecx, dword [0xa86d28]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov edx, dword [0x636448]
mov ecx, dword [0xa86d2c]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov edx, dword [0x63644c]
mov ecx, dword [0xa86d30]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov edx, dword [0x636450]
mov ecx, dword [0xa86d34]
lea eax, [ebp - 0x2c]
call fcn.00415898
mov eax, dword [0xa86d1c]
mov dword [ebp - 9], eax
lea edx, [ebp - 0x114]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov edx, dword [ebp - 0x114]
mov eax, 0x636454
call fcn.00403100
lea eax, [ebp - 0x118]
push eax
lea edx, [ebp - 0x11c]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x11c]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x118]
mov eax, 0x636458
call fcn.00403100
lea edx, [ebp - 0x120]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov edx, dword [ebp - 0x120]
mov eax, 0x63645c
call fcn.00403100
lea edx, [ebp - 0x124]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov edx, dword [ebp - 0x124]
mov eax, 0x636460
call fcn.00403100
mov eax, dword [0x636434]
dec eax
test eax, eax
jl 0x453a83
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x128]
push eax
lea edx, [ebp - 0x12c]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x12c]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x63646c]
lea eax, [ecx + eax*4]
call fcn.00403100
lea eax, [ebp - 0x130]
push eax
lea edx, [ebp - 0x134]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x134]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x63646c]
lea eax, [ecx + eax*4 + 4]
call fcn.00403100
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0x138]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x138]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [0x635438]
mov edx, 0x456c18
mov eax, dword [ebp - 0x94]
call fcn.00413da0
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x63646c]
lea eax, [ecx + eax*4 + 8]
call fcn.00403100
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453989
mov eax, dword [0x636438]
dec eax
test eax, eax
jl 0x453b99
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x140]
push eax
lea edx, [ebp - 0x144]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x144]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636468]
lea eax, [ecx + eax*4]
call fcn.00403100
lea eax, [ebp - 0x148]
push eax
lea edx, [ebp - 0x14c]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x14c]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636468]
lea eax, [ecx + eax*4 + 4]
call fcn.00403100
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x150]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
lea eax, [ebp - 0x154]
push eax
mov ecx, dword [0x635438]
mov edx, 0x456c18
mov eax, dword [ebp - 0x94]
call fcn.00413da0
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636468]
lea eax, [ecx + eax*4 + 8]
call fcn.00403100
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453a9f
mov eax, dword [0x636440]
dec eax
test eax, eax
jl 0x453c92
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x158]
push eax
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x15c]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636470]
lea eax, [ecx + eax*4]
call fcn.00403100
lea eax, [ebp - 0x160]
push eax
lea edx, [ebp - 0x164]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x164]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636470]
lea eax, [ecx + eax*4 + 4]
call fcn.00403100
lea eax, [ebp - 0x168]
push eax
lea edx, [ebp - 0x16c]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov eax, dword [ebp - 0x16c]
mov ecx, 0x456c00
mov edx, 0x456c0c
call fcn.00413da0
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov ecx, dword [0x636470]
lea eax, [ecx + eax*4 + 8]
call fcn.00403100
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453bb5
xor eax, eax
mov al, byte [0xa86df2]
test eax, eax
jle 0x453cd8
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 1
lea edx, [ebp - 0x170]
lea eax, [ebp - 0x2c]
call fcn.00415998
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x38]
lea eax, [eax*4 + 0xa873c8]
call fcn.00403100
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453caa
cmp dword [0xa86e20], 0
jle 0x453ce9
mov eax, dword [0xa86e20]
add dword [ebp - 9], eax
cmp dword [0x636440], 0
jle 0x453d8e
mov eax, dword [0x636440]
dec eax
test eax, eax
jl 0x453d8e
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 0
imul eax, dword [ebp - 0x38], 0xab
mov edx, dword [0x636450]
lea eax, [edx + eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 0xa3], 0
jle 0x453d75
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0xa3]
mov eax, dword [ebp - 0xb0]
add eax, 0xa7
call fcn.004139d8
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xa3]
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0xa7]
lea eax, [ebp - 0x2c]
call fcn.00415898
jmp 0x453d83
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov dword [eax + 0xa7], edx
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453d12
xor ecx, ecx
xor edx, edx
lea eax, [ebp - 0x2c]
call fcn.00415544
lea eax, [ebp - 0x2c]
call fcn.00414f74
mov eax, dword [0x63641c]
shl eax, 5
sub eax, 0x400
sub eax, 0x20
mov dword [0x63642c], eax
imul eax, dword [0x636420], 0x16
sub eax, 0x2aa
sub eax, 0x16
mov dword [0x636430], eax
mov eax, dword [0x63641c]
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [0xa86d20]
sar eax, 1
jns 0x453de0
adc eax, 0
dec eax
test eax, eax
jl 0x453e5b
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x38]
movzx eax, byte [eax + edx*2 + 1]
test eax, eax
jl 0x453e50
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x38]
mov al, byte [eax + edx*2]
mov edx, dword [0x636410]
mov ecx, dword [ebp - 0x34]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x34]
add eax, 2
cdq
idiv dword [0x63641c]
test edx, edx
jne 0x453e42
add dword [ebp - 0x34], 3
jmp 0x453e45
inc dword [ebp - 0x34]
inc dword [ebp - 0x3c]
dec dword [ebp - 0xb4]
jne 0x453e13
inc dword [ebp - 0x38]
dec dword [ebp - 0xac]
jne 0x453df3
mov eax, dword [0x63641c]
dec eax
test eax, eax
jl 0x453e9c
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
add eax, dword [0x63641c]
mov edx, dword [0x636410]
mov al, byte [edx + eax]
mov edx, dword [0x636410]
mov ecx, dword [ebp - 0x3c]
mov byte [edx + ecx], al
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x453e73
mov eax, dword [0x636420]
dec eax
imul dword [0x63641c]
mov edx, dword [0x63641c]
imul edx, dword [0x636420]
dec edx
sub edx, eax
jl 0x453eed
inc edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [0x63641c]
mov edx, dword [0x636410]
mov al, byte [edx + eax]
mov edx, dword [0x636410]
mov ecx, dword [ebp - 0x3c]
mov byte [edx + ecx], al
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x453ec4
mov eax, dword [0x636420]
dec eax
test eax, eax
jl 0x453f34
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
imul dword [0x63641c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x636410]
mov edx, dword [ebp - 0x38]
mov al, byte [eax + edx + 1]
mov edx, dword [0x636410]
mov ecx, dword [ebp - 0x38]
mov byte [edx + ecx], al
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x453f05
mov eax, dword [0x636420]
dec eax
test eax, eax
jl 0x453f82
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
imul dword [0x63641c]
add eax, dword [0x63641c]
dec eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x636410]
mov edx, dword [ebp - 0x38]
mov al, byte [eax + edx - 1]
mov edx, dword [0x636410]
mov ecx, dword [ebp - 0x38]
mov byte [edx + ecx], al
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x453f4c
mov eax, dword [0xa86d24]
mov ecx, 6
cdq
idiv ecx
dec eax
test eax, eax
jl 0x45404b
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x3c]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + eax*2 + 2]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + eax*2 + 4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
lea eax, [edx + eax*2]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
cmp ax, 1
jb 0x45402e
mov eax, dword [ebp - 0x4c]
shr ax, 8
cmp ax, 8
ja 0x45402e
mov eax, dword [ebp - 0xb8]
mov dx, word [ebp - 0x4c]
mov word [eax], dx
jmp 0x45403c
mov eax, dword [ebp - 0xb8]
mov dx, word [ebp - 0x4c]
mov word [eax + 2], dx
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x453fa6
lea eax, [ebp - 0xa4]
call fcn.00413a50
lea eax, [ebp - 0xa8]
call fcn.00413a50
call fcn.00470868
mov eax, dword [0x636434]
test eax, eax
jle 0x454220
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 1
imul eax, dword [ebp - 0x3c], 0xb3
mov edx, dword [0x636444]
lea eax, [edx + eax*2 - 0x166]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
movzx eax, word [eax + 2]
imul dword [0x636424]
mov edx, dword [ebp - 0xbc]
movzx edx, word [edx]
add eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xbc]
mov ax, word [eax]
mov edx, dword [ebp - 0xbc]
movzx edx, byte [edx + 0x121]
sub ax, dx
inc eax
mov edx, dword [ebp - 0xbc]
mov word [edx], ax
mov eax, dword [ebp - 0xbc]
mov ax, word [eax + 2]
mov edx, dword [ebp - 0xbc]
movzx edx, byte [edx + 0x122]
sub ax, dx
inc eax
mov edx, dword [ebp - 0xbc]
mov word [edx + 2], ax
mov eax, dword [ebp - 0xbc]
mov byte [eax + 0x123], 0
mov eax, dword [ebp - 0xbc]
mov al, byte [eax + 0x121]
mov edx, dword [ebp - 0xbc]
cmp al, byte [edx + 0x122]
jbe 0x454130
mov dword [ebp - 0x4c], 1
jmp 0x454135
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xbc]
movzx eax, word [eax]
mov edx, dword [ebp - 0xbc]
movzx edx, word [edx]
mov ecx, dword [ebp - 0xbc]
movzx ecx, byte [ecx + 0x121]
add edx, ecx
dec edx
sub edx, eax
jl 0x4541e9
inc edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xbc]
movzx eax, word [eax + 2]
sub eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xbc]
movzx edx, word [edx + 2]
mov ecx, dword [ebp - 0xbc]
movzx ecx, byte [ecx + 0x122]
add edx, ecx
dec edx
sub edx, eax
jl 0x4541de
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
imul dword [0x636424]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov word [edx + eax*2 + 4], 0
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov ecx, dword [ebp - 0x40]
mov dword [edx + eax*2 + 0xc], ecx
inc dword [ebp - 0x80]
dec dword [ebp - 0xc0]
jne 0x45419e
inc dword [ebp - 0x7c]
dec dword [ebp - 0xb4]
jne 0x454169
mov eax, dword [ebp - 0x40]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov cx, word [ebp - 0x3c]
mov word [edx + eax*2 + 4], cx
mov eax, dword [ebp - 0x40]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov ecx, dword [ebp - 0x40]
mov dword [edx + eax*2 + 0xc], ecx
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x454080
mov eax, dword [0x63643c]
dec eax
test eax, eax
jl 0x45428a
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
imul eax, dword [ebp - 0x3c], 0x63
mov edx, dword [0x63644c]
lea eax, [edx + eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
movzx eax, word [eax + 2]
imul dword [0x636424]
mov edx, dword [ebp - 0xc4]
movzx edx, word [edx]
add eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov cx, word [ebp - 0x3c]
inc ecx
mov word [edx + eax*2 + 6], cx
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x454238
xor eax, eax
mov dword [0x6353dc], eax
mov dword [0x6353e0], 0xffffffff
xor eax, eax
mov dword [0x48966c], eax
mov dx, word [0xa86d14]
mov ax, word [0xa86d10]
call fcn.0041942c
mov dword [0x635ef4], eax
mov dx, word [0xa86d14]
mov ax, word [0xa86d10]
call fcn.0041942c
mov dword [0x635ef8], eax
mov dx, word [0xa86d14]
mov ax, word [0xa86d10]
call fcn.0041942c
mov dword [0x635efc], eax
mov dx, word [0xa86d14]
add dx, 4
mov ax, word [0xa86d10]
add ax, 4
call fcn.0041942c
mov dword [0x61d880], eax
push 1
lea edx, [ebp - 0x188]
mov eax, dword [0x635ef4]
call fcn.004246dc
lea ecx, [ebp - 0x188]
mov edx, dword [fcn.00424684]
mov eax, 0x633380
call fcn.004247b4
lea edx, [ebp - 0x188]
mov eax, dword [0x635ef4]
call fcn.004246dc
lea esi, [ebp - 0x188]
mov edi, 0xa87458
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0xa86d10]
push eax
mov eax, dword [0xa86d14]
push eax
push 0xffff
xor ecx, ecx
xor edx, edx
mov eax, dword [0x635ef4]
call fcn.00418498
mov eax, dword [0xa86d10]
push eax
mov eax, dword [0xa86d14]
push eax
push 0xffff
xor ecx, ecx
xor edx, edx
mov eax, dword [0x635ef8]
call fcn.00418498
mov eax, dword [0xa86d10]
push eax
mov eax, dword [0xa86d14]
push eax
push 0xffff
xor ecx, ecx
xor edx, edx
mov eax, dword [0x635efc]
call fcn.00418498
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x454514
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x454505
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
dec eax
sub ax, 4
jae 0x4544f6
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov ecx, 0xa
xor edx, edx
div ecx
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x70]
sub edx, eax
jl 0x4544f6
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x6c]
sub edx, eax
jl 0x4544e7
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x4544dc
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x4544dc
mov eax, dword [ebp - 0x4c]
shr ax, 8
movzx eax, ax
mov eax, dword [eax*4 + 0x48935c]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jge 0x45449d
xor eax, eax
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
lea eax, [eax + eax*4]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef8]
call fcn.00418410
push 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635efc]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xc8]
jne 0x454468
inc dword [ebp - 0x78]
dec dword [ebp - 0xc0]
jne 0x45444d
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x4543e6
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x4543ca
mov eax, dword [0xa86d14]
dec eax
test eax, eax
jl 0x454656
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x78], 0
mov eax, dword [0xa86d10]
dec eax
test eax, eax
jl 0x454647
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x78]
inc eax
imul dword [0x63641c]
add eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x454638
cmp dword [ebp - 0x44], 0xffff
jne 0x45458b
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [0x636410]
mov edx, dword [ebp - 0x38]
movzx eax, byte [eax + edx]
mov eax, dword [eax*4 + 0x489320]
add dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jge 0x4545ac
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [0x636410]
mov edx, dword [ebp - 0x38]
mov al, byte [eax + edx]
sub al, 3
jae 0x4545f9
push 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef8]
call fcn.00418410
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635efc]
call fcn.00418410
jmp 0x454638
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
lea eax, [eax + eax*4]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef8]
call fcn.00418410
push 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635efc]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xb4]
jne 0x45454c
inc dword [ebp - 0x78]
dec dword [ebp - 0xac]
jne 0x454530
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x454783
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x454774
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2 + 2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
add eax, 0xfffffff7
sub ax, 4
jae 0x454765
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x454765
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x454765
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x45471b
mov eax, dword [ebp - 0x4c]
shr ax, 8
movzx eax, ax
mov eax, dword [eax*4 + 0x48935c]
add dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jge 0x454726
xor eax, eax
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
lea eax, [eax + eax*4]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef8]
call fcn.00418410
push 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635efc]
call fcn.00418410
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x45468e
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x454672
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x45490f
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x454900
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
add eax, 0xfffffffb
sub ax, 4
jae 0x4548f1
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov ecx, 0xa
xor edx, edx
div ecx
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x70]
sub edx, eax
jl 0x4548f1
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x6c]
sub edx, eax
jl 0x4548e2
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x4548d3
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x4548d3
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x454889
mov eax, dword [ebp - 0x4c]
shr ax, 8
movzx eax, ax
mov eax, dword [eax*4 + 0x48935c]
add dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jge 0x454894
xor eax, eax
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
lea eax, [eax + eax*4]
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635ef8]
call fcn.00418410
push 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov eax, dword [0x635efc]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xc8]
jne 0x45483f
inc dword [ebp - 0x78]
dec dword [ebp - 0xc0]
jne 0x454824
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x4547bb
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x45479f
mov eax, dword [0x636434]
test eax, eax
jle 0x454a46
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 1
imul eax, dword [ebp - 0x3c], 0xb3
mov edx, dword [0x636444]
lea eax, [edx + eax*2 - 0x166]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov al, byte [eax + 0x121]
mov edx, dword [ebp - 0xcc]
cmp al, byte [edx + 0x122]
jbe 0x454966
mov dword [ebp - 0x4c], 1
jmp 0x45496b
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xcc]
movzx eax, word [eax]
mov edx, dword [ebp - 0xcc]
movzx edx, word [edx]
mov ecx, dword [ebp - 0xcc]
movzx ecx, byte [ecx + 0x121]
add edx, ecx
dec edx
sub edx, eax
jl 0x454a37
inc edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xcc]
movzx eax, word [eax + 2]
sub eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xcc]
movzx edx, word [edx + 2]
mov ecx, dword [ebp - 0xcc]
movzx ecx, byte [ecx + 0x122]
add edx, ecx
dec edx
sub edx, eax
jl 0x454a28
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x80], eax
mov eax, dword [0x489330]
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x635ef4]
call fcn.00418410
mov ax, word [ebp - 0x44]
add eax, eax
push eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x635ef8]
call fcn.00418410
mov ax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x635efc]
call fcn.00418410
inc dword [ebp - 0x80]
dec dword [ebp - 0xc0]
jne 0x4549d4
inc dword [ebp - 0x7c]
dec dword [ebp - 0xb4]
jne 0x45499f
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x454929
mov dx, word [0xa86d14]
add edx, edx
add dx, 2
mov ax, word [0xa86d10]
add eax, eax
add ax, 2
call fcn.0041942c
mov dword [0x489680], eax
mov eax, dword [0x489680]
movzx eax, word [eax]
push eax
mov eax, dword [0x489680]
movzx eax, word [eax + 2]
push eax
push 0xf000
xor ecx, ecx
xor edx, edx
mov eax, dword [0x489680]
call fcn.00418498
mov dx, word [0xa86d14]
mov ax, word [0xa86d10]
call fcn.0041942c
mov dword [0x635f00], eax
mov dx, word [0xa86d14]
mov ax, word [0xa86d10]
call fcn.0041942c
mov dword [0x635f04], eax
mov byte [0x6353d4], 0
mov eax, 0x61d718
mov edx, 0x601078
mov ecx, dword [0x423b88]
call fcn.00403968
mov eax, 0x61d588
mov edx, 0x601128
mov ecx, dword [0x423b88]
call fcn.00403968
mov eax, 0x600a26
mov edx, 0x601128
mov ecx, dword [0x423b88]
call fcn.00403968
mov eax, 0x635f08
mov edx, 0x601778
mov ecx, dword [0x423b88]
call fcn.00403968
mov eax, dword [0x635f10]
call fcn.00418c20
push pe_nt_image_headers32
push 0
mov ecx, pe_nt_image_headers32
xor edx, edx
xor eax, eax
call fcn.00418d68
call fcn.00418cf4
mov eax, dword [0xa86d14]
dec eax
test eax, eax
jl 0x454bc4
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x78], 0
mov eax, dword [0xa86d10]
dec eax
test eax, eax
jl 0x454bb9
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x78]
inc eax
imul dword [0x63641c]
add eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x636410]
mov edx, dword [ebp - 0x38]
movzx eax, byte [eax + edx]
mov eax, dword [eax*4 + 0x4892e0]
mov dword [ebp - 0x48], eax
mov ax, word [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xb4]
jne 0x454b6c
inc dword [ebp - 0x78]
dec dword [ebp - 0xac]
jne 0x454b54
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x454e0f
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x454e00
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
test ax, ax
jbe 0x454df1
mov eax, dword [ebp - 0x4c]
shr ax, 8
cmp ax, 5
jae 0x454df1
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov ecx, 0xa
xor edx, edx
div ecx
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov edx, dword [ebp - 0x4c]
shr dx, 8
movzx edx, dx
shl edx, 7
lea edx, [edx*8 + 0x6ba474]
mov eax, dword [edx + eax*4 - 0x400]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x18
and eax, 0xff
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x10
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
shr eax, 8
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x48]
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x70]
sub edx, eax
jl 0x454df1
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x6c]
sub edx, eax
jl 0x454de2
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x454dd3
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x454dd3
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x50]
mov ax, word [ebp - 0x48]
call fcn.00418344
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x50]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x54]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x54], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x58]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov dl, byte [ebp - 0x54]
mov al, byte [ebp - 0x50]
call fcn.00418300
movzx eax, ax
mov dword [ebp - 0x48], eax
mov ax, word [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xc8]
jne 0x454d0c
inc dword [ebp - 0x78]
dec dword [ebp - 0xc0]
jne 0x454cf1
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x454bfc
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x454be0
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x45505b
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x45504c
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
shr ax, 8
cmp ax, 4
jbe 0x45503d
mov eax, dword [ebp - 0x4c]
shr ax, 8
cmp ax, 9
jae 0x45503d
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov ecx, 0xa
xor edx, edx
div ecx
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov edx, dword [ebp - 0x4c]
shr dx, 8
movzx edx, dx
shl edx, 7
lea edx, [edx*8 + 0x6ba474]
mov eax, dword [edx + eax*4 - 0x400]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x18
and eax, 0xff
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x10
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
shr eax, 8
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x48]
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x70]
sub edx, eax
jl 0x45503d
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x6c]
sub edx, eax
jl 0x45502e
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x45501f
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x45501f
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x50]
mov ax, word [ebp - 0x48]
call fcn.00418344
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x50]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x54]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x54], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x58]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov dl, byte [ebp - 0x54]
mov al, byte [ebp - 0x50]
call fcn.00418300
movzx eax, ax
mov dword [ebp - 0x48], eax
mov ax, word [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.00418410
inc dword [ebp - 0x74]
dec dword [ebp - 0xc8]
jne 0x454f58
inc dword [ebp - 0x78]
dec dword [ebp - 0xc0]
jne 0x454f3d
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x454e47
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x454e2b
mov eax, dword [0x636428]
dec eax
test eax, eax
jl 0x455230
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x636424]
dec eax
test eax, eax
jl 0x455221
inc eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x70]
imul dword [0x636424]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2 + 2]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jle 0x455212
mov eax, dword [ebp - 0x4c]
and eax, 0xff
movzx eax, ax
mov edx, dword [ebp - 0x4c]
shr dx, 8
movzx edx, dx
shl edx, 7
lea edx, [edx*8 + 0x6ba474]
mov eax, dword [edx + eax*4 - 0x400]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x18
and eax, 0xff
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x48]
shr eax, 0x10
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x48]
shr eax, 8
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x48]
and eax, 0xff
imul dword [ebp - 0x68]
mov ecx, 0xff
cdq
idiv ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [0xa86d10]
jge 0x455212
mov eax, dword [ebp - 0x78]
cmp eax, dword [0xa86d14]
jge 0x455212
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.0041844c
movzx eax, ax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x50]
mov ax, word [ebp - 0x48]
call fcn.00418344
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x50]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x54]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x54], eax
mov eax, 0xff
sub eax, dword [ebp - 0x68]
imul dword [ebp - 0x58]
mov ecx, 0xff
cdq
idiv ecx
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov dl, byte [ebp - 0x54]
mov al, byte [ebp - 0x50]
call fcn.00418300
movzx eax, ax
mov dword [ebp - 0x48], eax
mov ax, word [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 2
mov edx, dword [ebp - 0x74]
add edx, 2
mov eax, dword [0x61d880]
call fcn.00418410
inc dword [ebp - 0x6c]
dec dword [ebp - 0xb4]
jne 0x455093
inc dword [ebp - 0x70]
dec dword [ebp - 0xac]
jne 0x455077
mov eax, dword [0x636434]
test eax, eax
jle 0x455394
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 1
imul eax, dword [ebp - 0x3c], 0xb3
mov edx, dword [0x636444]
lea eax, [edx + eax*2 - 0x166]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 6]
add al, 0xf3
sub al, 2
jae 0x455385
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 0x121]
mov edx, dword [ebp - 0xd0]
cmp al, byte [edx + 0x122]
jbe 0x45529a
mov dword [ebp - 0x4c], 1
jmp 0x4552a1
mov dword [ebp - 0x4c], 2
mov eax, dword [ebp - 0xd0]
movzx eax, word [eax]
add eax, 2
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xd0]
movzx eax, word [eax + 2]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xd0]
movzx eax, word [eax]
mov edx, dword [ebp - 0xd0]
movzx edx, byte [edx + 0x121]
add eax, edx
add eax, 3
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xd0]
movzx eax, word [eax + 2]
mov edx, dword [ebp - 0xd0]
movzx edx, byte [edx + 0x122]
add eax, edx
add eax, 3
mov dword [ebp - 0x90], eax
mov eax, dword [0x61d880]
movzx eax, word [eax]
sub eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45532d
mov eax, dword [0x61d880]
movzx eax, word [eax]
sub eax, 2
mov dword [ebp - 0x8c], eax
mov eax, dword [0x61d880]
movzx eax, word [eax + 2]
sub eax, 2
cmp eax, dword [ebp - 0x90]
jge 0x455353
mov eax, dword [0x61d880]
movzx eax, word [eax + 2]
sub eax, 2
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x90]
dec eax
push eax
mov cl, 0xc3
mov dl, 0xc3
mov al, 0xc3
call fcn.00418300
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov eax, dword [0x61d880]
call fcn.00418498
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x45524a
push 0x514
push 0xffffffffffffffdf
push 0xffffffffffffffdf
push 0xffffffffffffffdf
mov eax, 0x61d880
mov ecx, 0x514
mov edx, 0x514
call fcn.0042f640
cmp dword [0xa86d10], 0x64
jl 0x4553c8
mov eax, 0x190
call fcn.0043f10c
jmp 0x4553d2
mov eax, 0xc8
call fcn.0043f10c
call fcn.0043f3a4
xor eax, eax
mov dword [0x61d710], eax
mov byte [0x489638], 0
mov byte [0x613829], 0
mov eax, 0x7019c4
mov edx, 0x380f00
call fcn.00404364
mov eax, dword [0xa86d3c]
inc eax
mov dword [0x635424], eax
xor eax, eax
mov dword [0x635420], eax
mov byte [0x6353fd], 0
xor eax, eax
mov dword [0x63542c], eax
xor eax, eax
mov dword [0x635430], eax
xor eax, eax
mov dword [0x635428], eax
mov eax, dword [0x635434]
sub eax, 1
jb 0x45543a
je 0x45545a
dec eax
je 0x45547a
jmp 0x455498
mov dword [0x63543c], 0x12
mov dword [0x635440], 5
mov dword [0x635c58], 1
jmp 0x455498
mov dword [0x63543c], 0x10
mov dword [0x635440], 5
mov dword [0x635c58], 2
jmp 0x455498
mov dword [0x63543c], 0x14
mov dword [0x635440], 4
mov dword [0x635c58], 1
push 0
mov eax, dword [0x635434]
push eax
push 0
xor ecx, ecx
mov edx, dword [0x635434]
xor eax, eax
call fcn.004373ac
mov eax, dword [0x635424]
mov ecx, 0x5a0
cdq
idiv ecx
inc eax
imul eax, eax, 0x5a0
add eax, 0x2d0
mov dword [0x7030b8], eax
imul eax, dword [0x635434], 0x1db
lea esi, [eax + 0xa86e34]
mov edi, 0x7019c8
mov ecx, 0x76
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x635440]
mov dword [0x703040], eax
mov byte [0x70304d], 1
mov eax, dword [0x635434]
mov dword [0x703049], eax
mov dword [0x703057], 1
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
mov al, byte [eax + 0xa86de1]
mov edx, dword [ebp - 0x38]
mov byte [edx + 0x70305a], al
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jne 0x45551a
mov eax, dword [0x635434]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax*2 + 0xa86d40]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x10], 0
jbe 0x4555b4
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x10]
imul eax, eax, 0xb3
mov edx, dword [0x636444]
mov byte [edx + eax*2 - 0x42], 0
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x10]
imul eax, eax, 0xb3
mov edx, dword [0x636444]
mov ecx, dword [0x70305b]
mov dword [edx + eax*2 - 0x14], ecx
mov eax, dword [ebp - 0xd4]
movzx eax, byte [eax + 0x10]
imul eax, eax, 0xb3
mov edx, dword [0x636444]
mov cl, byte [0x703057]
mov byte [edx + eax*2 - 0x15], cl
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x3c]
lea eax, [eax + eax*2]
mov edx, dword [0x635434]
lea edx, [edx + edx*4]
lea edx, [edx + edx*4]
lea edx, [edx*2 + 0xa86d04]
lea eax, [edx + eax + 0x4c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
movzx eax, byte [eax + 2]
test eax, eax
jle 0x455632
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0xd8]
cmp byte [eax], 3
jbe 0x455627
push 1
push 3
push 0
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [eax + 1]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov dl, byte [eax]
dec edx
xor eax, eax
call fcn.004373ac
inc dword [ebp - 0x40]
dec dword [ebp - 0xac]
jne 0x4555f9
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 7
jne 0x4555bb
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [eax*4 + 0xa82a04], edx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xc
jne 0x455640
xor eax, eax
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0x4b
add eax, 0x60e298
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [eax*4 + 0x635448], edx
mov eax, dword [ebp - 0xdc]
mov edx, dword [0xa880b4]
mov dword [eax + 0x21], edx
mov eax, dword [ebp - 0xdc]
mov edx, dword [0xa880b4]
mov dword [eax + 0x25], edx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x19
jne 0x45565a
xor eax, eax
mov dword [0x60d998], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [eax*4 + 0x635448], edx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x100
jne 0x4556a8
xor eax, eax
mov dword [0x635848], eax
xor eax, eax
mov dword [0x63584c], eax
xor eax, eax
mov dword [0x60ebb3], eax
mov eax, dword [0x635434]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax*2 + 0xa86d40]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x3c]
cmp byte [eax + edx + 0x28], 0
jbe 0x455719
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x3c]
movzx eax, byte [eax + edx + 0x28]
dec eax
call fcn.0043ba4c
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 4
jne 0x4556f5
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [eax*4 + 0x635850], edx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x100
jne 0x455727
xor eax, eax
mov dword [0x635c50], eax
xor eax, eax
mov dword [0x635c54], eax
mov eax, dword [0x635434]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax*2 + 0xa86d40]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x3c]
cmp byte [eax + edx + 0x2b], 0
jbe 0x45578f
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x3c]
movzx eax, byte [eax + edx + 0x2b]
call fcn.0043d2e8
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 7
jne 0x45576c
mov eax, dword [0x636438]
dec eax
test eax, eax
jl 0x45612c
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
imul eax, dword [ebp - 0x3c], 0x59
mov edx, dword [0x636448]
lea eax, [edx + eax]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x1a], 0
jbe 0x45585e
push 0
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x1a]
dec eax
push eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x3a]
push eax
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov cl, byte [eax + 0x1b]
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov dl, byte [eax + 0x1a]
dec edx
mov eax, dword [ebp - 0x3c]
inc eax
call fcn.004373ac
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x1a]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7051f3], eax
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x40]
movzx eax, byte [eax + edx + 0x31]
mov edx, dword [0x489684]
inc edx
cmp eax, edx
jle 0x455855
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x40]
mov byte [eax + edx + 0x31], 0
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 4
jne 0x45582e
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0xe8]
lea eax, [edx + eax + 0x19]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
movzx eax, byte [eax + 2]
test eax, eax
jle 0x4558d1
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0xec]
cmp byte [eax], 3
jbe 0x4558c6
push 1
push 3
push 0
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov cl, byte [eax + 1]
mov eax, dword [ebp - 0xec]
xor edx, edx
mov dl, byte [eax]
dec edx
mov eax, dword [ebp - 0x3c]
inc eax
call fcn.004373ac
inc dword [ebp - 0x40]
dec dword [ebp - 0xb4]
jne 0x455896
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 7
jne 0x455865
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x40]
cmp byte [eax + edx + 0x31], 0
jbe 0x455908
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x40]
movzx edx, byte [eax + edx + 0x31]
mov eax, dword [ebp - 0x3c]
inc eax
call fcn.0044365c
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 4
jne 0x4558e1
imul eax, dword [ebp - 0x3c], 0x380f
add eax, 0x7051d7
mov dword [ebp - 0xf0], eax
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x40]
cmp dword [eax + edx*4 + 0xcd], 0
jle 0x455944
mov eax, dword [ebp - 0xf0]
inc dword [eax + 0x18]
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 4
jne 0x455928
mov eax, dword [ebp - 0xe8]
movsx eax, byte [eax + 0xd]
mov edx, 5
sub edx, eax
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x70684f], edx
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x1a], 2
jne 0x455984
imul eax, dword [ebp - 0x3c], 0x380f
dec dword [eax + 0x70684f]
imul eax, dword [ebp - 0x3c], 0x380f
cmp dword [eax + 0x70684f], 1
jge 0x4559a5
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x70684f], 1
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 5
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x3b]
sub al, 1
jb 0x4559cb
je 0x4559de
dec al
je 0x4559f1
jmp 0x455a02
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 6
jmp 0x455a02
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 4
jmp 0x455a02
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 5
imul eax, dword [ebp - 0x3c], 0x380f
add eax, 0x7051d7
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax], 0x67
mov edx, dword [0xa873c8]
cmp byte [edx + eax*2 + 0x2c], 1
jne 0x455a88
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
add eax, 0xffffffd6
sub eax, 3
jb 0x455a3f
sub eax, 1
jne 0x455a52
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 8
jmp 0x455aaf
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
add eax, 0xffffffce
sub eax, 3
jae 0x455a75
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 9
jmp 0x455aaf
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 7
jmp 0x455aaf
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
cmp eax, 0x57
ja 0x455a9c
bt dword [0x456c24], eax
jae 0x455aaf
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x706858], 0xa
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7068d7], eax
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7068db], eax
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7068df], eax
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7068e3], eax
imul eax, dword [ebp - 0x3c], 0x380f
add eax, 0x7051d3
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
imul dword [0x636424]
mov edx, dword [ebp - 0xe8]
movzx edx, word [edx]
add eax, edx
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
mov eax, dword [edx + eax*2 + 0xc]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x455b84
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2 + 4]
imul eax, eax, 0xb3
mov edx, dword [0x636444]
cmp byte [edx + eax*2 - 0x160], 0xd
setae al
xor al, 1
mov edx, dword [ebp - 0xf8]
mov byte [edx + 0x1684], al
jmp 0x455b91
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x1684], 1
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x1684], 0
je 0x455c51
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
inc eax
imul dword [0x63641c]
mov edx, dword [ebp - 0xe8]
movzx edx, word [edx]
add eax, edx
mov edx, dword [0x636410]
movzx eax, byte [edx + eax + 1]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 3
setb al
mov edx, dword [ebp - 0xf8]
mov byte [edx + 0x1684], al
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x1684], 0
je 0x455c51
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x48]
sub al, 1
jb 0x455c0b
je 0x455c1d
dec al
je 0x455c2f
dec al
je 0x455c41
jmp 0x455c51
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x1685], 3
jmp 0x455c51
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x1685], 3
jmp 0x455c51
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x1685], 0xc
jmp 0x455c51
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x1685], 0xb
call dword [0x499414]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7089bd], eax
mov eax, 0xbb8
call fcn.00425288
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7089c1], eax
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x55]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089df], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x3f]
xor al, 1
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x70685c], al
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x40]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706866], eax
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x38]
mov al, byte [eax + edx + 0x40]
imul edx, dword [ebp - 0x3c], 0x380f
add edx, 0x7019c4
mov ecx, dword [ebp - 0x38]
mov byte [edx + ecx + 0x4ea5], al
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jne 0x455cc7
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 0x13]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x7089ad], eax
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0xe]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089b1], al
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x19]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x70686e], eax
mov eax, dword [ebp - 0xe8]
movsx eax, word [eax + 0x11]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706893], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x3b]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706872], eax
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x3c]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x706876], al
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x3d]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706877], eax
mov eax, dword [ebp - 0xe8]
movsx eax, byte [eax + 0x45]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x70688b], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x46]
imul eax, eax, 0x5a0
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x70688f], eax
imul eax, dword [ebp - 0x3c], 0x380f
xor edx, edx
mov dword [eax + 0x706862], edx
imul eax, dword [ebp - 0x3c], 0x380f
mov byte [eax + 0x70685d], 0
imul eax, dword [ebp - 0x3c], 0x380f
mov dword [eax + 0x7068cb], 5
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x50]
add eax, eax
lea eax, [eax + eax*4]
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706897], eax
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x4c]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089a9], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x4d]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089aa], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x4e]
xor al, 1
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089ab], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x4f]
xor al, 1
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089ac], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x51]
xor al, 1
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089ba], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x52]
xor al, 1
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089bb], al
imul eax, dword [ebp - 0x3c], 0x380f
mov byte [eax + 0x7089e1], 0
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x3e]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089dd], al
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x47]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089de], al
imul eax, dword [ebp - 0x3c], 0x59
mov edx, dword [0x636448]
mov al, byte [edx + eax + 0x53]
imul edx, dword [ebp - 0x3c], 0x380f
mov byte [edx + 0x7089e0], al
imul eax, dword [ebp - 0x3c], 0x380f
cmp byte [eax + 0x706876], 0
je 0x45602c
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7068d7]
mov edx, dword [ebp - 0xe8]
movzx edx, byte [edx + 0x3d]
sub eax, edx
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x70687b], eax
imul eax, dword [ebp - 0x3c], 0x380f
cmp dword [eax + 0x70687b], 0
jge 0x455f4b
imul eax, dword [ebp - 0x3c], 0x380f
xor edx, edx
mov dword [eax + 0x70687b], edx
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7068db]
mov edx, dword [ebp - 0xe8]
movzx edx, byte [edx + 0x3d]
sub eax, edx
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x70687f], eax
imul eax, dword [ebp - 0x3c], 0x380f
cmp dword [eax + 0x70687f], 0
jge 0x455f90
imul eax, dword [ebp - 0x3c], 0x380f
xor edx, edx
mov dword [eax + 0x70687f], edx
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7068d7]
mov edx, dword [ebp - 0xe8]
movzx edx, byte [edx + 0x3d]
add eax, edx
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706883], eax
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x706883]
cmp eax, dword [0xa86d10]
jl 0x455fde
mov eax, dword [0xa86d10]
dec eax
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706883], eax
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7068db]
mov edx, dword [ebp - 0xe8]
movzx edx, byte [edx + 0x3d]
add eax, edx
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706887], eax
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x706887]
cmp eax, dword [0xa86d14]
jl 0x45602c
mov eax, dword [0xa86d14]
dec eax
imul edx, dword [ebp - 0x3c], 0x380f
mov dword [edx + 0x706887], eax
imul eax, dword [ebp - 0x3c], 0x380f
cmp byte [eax + 0x70685c], 0
je 0x4560a6
mov eax, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
imul dword [0x636424]
mov edx, dword [ebp - 0xe8]
movzx edx, word [edx]
add eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [eax*4 + 0x7015cc], edx
mov edx, dword [ebp - 0x3c]
add edx, 2
mov eax, dword [ebp - 0x38]
call fcn.004390b0
mov edx, dword [ebp - 0x3c]
add edx, 2
mov eax, dword [ebp - 0x38]
call fcn.00438f10
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00430a88
mov eax, dword [ebp - 0x3c]
inc eax
mov ecx, 5
or edx, 0xffffffff
call fcn.0044e4ac
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x54], 0
jbe 0x45611d
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7051d3]
test eax, eax
jle 0x45611d
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x38], 1
imul eax, dword [ebp - 0x38], 0x1db
imul edx, dword [ebp - 0x3c], 0x380f
add edx, 0x7019c4
lea eax, [edx + eax + 0x3638]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0x28], 0x3dcc5000
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x54]
dec eax
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0x24], eax
inc dword [ebp - 0x38]
dec dword [ebp - 0xb4]
jne 0x4560d0
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x4557b4
mov eax, 0x636448
call fcn.00413a50
imul eax, dword [0x636438], 0x380f
add eax, 0x7051d3
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x167c], edx
mov eax, dword [ebp - 0x100]
mov dword [eax + 0x1685], 3
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x1704], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x1708], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x170c], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x1710], edx
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x1689], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x1684], 1
mov eax, dword [ebp - 0x100]
mov dword [eax + 0x1693], 1
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov cl, byte [ecx + 0xa86de1]
mov byte [eax + edx + 0x1696], cl
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jne 0x4561d2
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x169b], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x16c0], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x169f], edx
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x16a3], 1
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x16a4], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x16b8], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x16bc], edx
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x168f], edx
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x168a], 0
mov eax, dword [ebp - 0x100]
mov dword [eax + 0x16f8], 5
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [eax + 0x16c4], edx
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37d6], 1
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37d7], 1
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37d8], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37d9], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37e7], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x37e8], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x380e], 0
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x380d], 0
mov dword [0x600940], 1
mov eax, dword [0x636434]
test eax, eax
jle 0x4567a2
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 1
imul eax, dword [ebp - 0x3c], 0xb3
mov edx, dword [0x636444]
lea eax, [edx + eax*2 - 0x166]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov edx, dword [0x635434]
cmp byte [eax + edx + 0x161], 0
je 0x45637b
mov eax, dword [ebp - 0x104]
mov byte [eax + 0x124], 0
mov eax, dword [ebp - 0x104]
mov edx, dword [0x70305b]
mov dword [eax + 0x152], edx
mov eax, dword [ebp - 0x104]
mov dl, byte [0x703057]
mov byte [eax + 0x151], dl
mov eax, dword [ebp - 0x104]
xor edx, edx
mov dword [eax + 0x156], edx
mov eax, dword [ebp - 0x104]
mov al, byte [eax + 6]
sub al, 1
je 0x4563a4
add al, 0xfe
sub al, 2
jb 0x4563a4
sub al, 7
jne 0x45652e
mov eax, dword [ebp - 0x104]
add eax, 0x156
mov edx, 0x380f
call fcn.004139d8
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x156]
mov edx, 0x380f
call fcn.00404364
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0x104]
lea eax, [edx + eax + 0x137]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
movzx eax, byte [eax + 2]
test eax, eax
jle 0x456446
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x108]
cmp byte [eax], 3
jbe 0x45643b
push 1
push 3
push 0
mov eax, dword [ebp - 0x108]
xor ecx, ecx
mov cl, byte [eax + 1]
mov eax, dword [ebp - 0x108]
xor edx, edx
mov dl, byte [eax]
dec edx
mov eax, dword [ebp - 0x3c]
neg eax
call fcn.004373ac
inc dword [ebp - 0x40]
dec dword [ebp - 0xb4]
jne 0x45640a
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 7
jne 0x4563d6
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + 0x156]
mov dword [ebp - 0xa0], eax
imul eax, dword [ebp - 0x3c], 0xb3
mov edx, dword [0x636444]
movzx eax, byte [edx + eax*2 - 0x1a]
mov edx, dword [ebp - 0xa0]
mov dword [edx + 0x3774], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
test eax, eax
jle 0x456500
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x38], 1
imul eax, dword [ebp - 0x38], 0x1db
mov edx, dword [ebp - 0xa0]
mov dword [edx + eax - 0x1b7], 0xffffffff
imul eax, dword [ebp - 0x38], 0x1db
mov edx, dword [ebp - 0xa0]
lea eax, [edx + eax - 0x1d7]
call fcn.004321cc
imul eax, dword [ebp - 0x38], 0x1db
mov edx, dword [ebp - 0xa0]
imul ecx, dword [ebp - 0x38], 0x1db
mov ebx, dword [ebp - 0xa0]
lea esi, [edx + eax - 0xfa]
lea edi, [ebx + ecx - 0x7a]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
inc dword [ebp - 0x38]
dec dword [ebp - 0xb4]
jne 0x456498
mov eax, dword [ebp - 0x3c]
neg eax
call fcn.00442628
mov ecx, 0x611d20
mov eax, dword [ebp - 0xa0]
mov dl, 1
call fcn.004399a4
mov ecx, dword [ebp - 0xa0]
mov eax, 0x611d20
mov dl, 1
call fcn.00439d28
mov eax, dword [ebp - 0x104]
mov al, byte [eax + 6]
dec al
je 0x456556
dec al
je 0x456721
add al, 0xfc
sub al, 2
jb 0x456556
sub al, 4
je 0x45667f
jmp 0x456755
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
neg word [eax + edx*2 + 0x86]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xd
jne 0x45655d
mov eax, dword [ebp - 0x104]
xor edx, edx
mov dword [eax + 0x15a], edx
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
cmp word [eax + edx*2 + 0x86], 0
jge 0x4565b9
mov eax, dword [ebp - 0x104]
mov dword [eax + 0x15a], 1
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xd
jne 0x456595
mov eax, dword [ebp - 0x104]
cmp byte [eax + 0x127], 0
jbe 0x456793
mov eax, dword [ebp - 0x104]
movzx eax, word [eax + 0x14f]
cmp eax, dword [0x489688]
jle 0x4565fe
mov eax, dword [ebp - 0x104]
mov dx, word [0x489688]
mov word [eax + 0x14f], dx
mov eax, dword [ebp - 0x104]
mov ax, word [eax + 0x14d]
mov edx, dword [ebp - 0x104]
cmp ax, word [edx + 0x14f]
jb 0x456629
mov eax, dword [ebp - 0x104]
mov word [eax + 0x14d], 0
mov eax, dword [ebp - 0x104]
cmp word [eax + 0x14f], 0
jne 0x45664d
mov eax, dword [ebp - 0x104]
mov dx, word [0x489688]
mov word [eax + 0x14f], dx
mov eax, dword [ebp - 0x104]
mov dword [eax + 0x15a], 1
mov eax, dword [0x635420]
mov ecx, 0x64
cdq
idiv ecx
mov edx, eax
add edx, dword [0x635424]
mov eax, dword [ebp - 0x3c]
call fcn.0045f120
jmp 0x456793
mov eax, dword [ebp - 0x104]
xor edx, edx
mov dword [eax + 0x15a], edx
mov eax, dword [ebp - 0x104]
mov byte [eax + 0x127], 0
mov eax, dword [ebp - 0x104]
movzx eax, word [eax + 0x14f]
mov edx, dword [ebp - 0xa0]
mov dword [edx + 0x16c0], eax
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
jle 0x4566ee
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
movsx edx, word [eax + edx*2 + 0x86]
mov eax, dword [ebp - 0x3c]
neg eax
call fcn.0044365c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 6
jne 0x4566c5
jmp 0x456793
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
movsx eax, word [eax + edx*2 + 0x86]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x38]
mov dword [edx + ecx*4 + 0x3794], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 6
jne 0x4566f5
jmp 0x456793
mov eax, dword [ebp - 0x104]
mov ax, word [eax + 0x11a]
mov edx, dword [ebp - 0x104]
mov word [edx + 0x11e], ax
mov eax, dword [ebp - 0x104]
mov al, byte [eax + 0x15e]
mov edx, dword [ebp - 0x104]
mov byte [edx + 0x160], al
jmp 0x456793
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x38]
mov word [eax + edx*2 + 0x86], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xd
jne 0x45675c
mov eax, dword [ebp - 0x104]
xor edx, edx
mov dword [eax + 0x15a], edx
mov eax, dword [ebp - 0x104]
mov byte [eax + 0x127], 0
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x45631a
mov eax, dword [0x636438]
test eax, eax
jl 0x4568af
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
imul eax, dword [ebp - 0x3c], 0x380f
mov eax, dword [eax + 0x7019c4]
test eax, eax
jle 0x456867
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x38], 1
imul eax, dword [ebp - 0x38], 0x1db
imul edx, dword [ebp - 0x3c], 0x380f
add edx, 0x7019c4
mov dword [edx + eax - 0x1b7], 0xffffffff
imul eax, dword [ebp - 0x38], 0x1db
imul edx, dword [ebp - 0x3c], 0x380f
add edx, 0x7019c4
lea eax, [edx + eax - 0x1d7]
call fcn.004321cc
imul eax, dword [ebp - 0x38], 0x1db
imul edx, dword [ebp - 0x3c], 0x380f
add edx, 0x7019c4
imul ecx, dword [ebp - 0x38], 0x1db
imul ebx, dword [ebp - 0x3c], 0x380f
add ebx, 0x7019c4
lea esi, [edx + eax - 0xfa]
lea edi, [ebx + ecx - 0x7a]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
inc dword [ebp - 0x38]
dec dword [ebp - 0xb4]
jne 0x4567df
mov eax, dword [ebp - 0x3c]
call fcn.00442628
mov ecx, 0x611d20
imul eax, dword [ebp - 0x3c], 0x380f
add eax, 0x7019c4
mov dl, 1
call fcn.004399a4
imul eax, dword [ebp - 0x3c], 0x380f
lea ecx, [eax + 0x7019c4]
mov eax, 0x611d20
mov dl, 1
call fcn.00439d28
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x4567bd
mov eax, 0xadc6f0
mov edx, 0x40000
call fcn.00404364
mov eax, 0xb1c6f0
mov edx, 0x40000
call fcn.00404364
mov eax, 0xb5c6f0
mov edx, 4
call fcn.00404364
mov eax, 0xb5c6f4
mov edx, 0xbf4
call fcn.00404364
mov eax, 0xb5d2e8
mov edx, 0x40000
call fcn.00404364
mov eax, 0xb9d2e8
mov edx, 0x10000
call fcn.00404364
mov eax, 0xbad2e8
mov edx, 0x400
call fcn.00404364
push 0
mov eax, dword [0x635420]
mov ecx, 0x64
cdq
idiv ecx
mov ecx, eax
add ecx, dword [0x635424]
mov edx, dword [0xa86d14]
mov eax, dword [0xa86d10]
call fcn.00442f10
call fcn.0042df48
mov eax, dword [0x635434]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax*2 + 0xa86d40]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
movsx eax, word [eax + 8]
mov dword [0x703084], eax
mov eax, dword [ebp - 0x10c]
movsx eax, word [eax + 0xc]
mov dword [0x635c5c], eax
xor eax, eax
mov dword [0x635c60], eax
xor eax, eax
mov dword [0x635c64], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x27]
imul dword [0x636424]
mov edx, dword [ebp - 0x10c]
movzx edx, word [edx + 0x25]
add eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [0x7015c8], eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00430a88
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax*8]
mov edx, dword [0x636414]
movzx eax, word [edx + eax*2 + 6]
mov dword [0x6353dc], eax
mov dword [0x6353e0], 0xffffffff
xor eax, eax
mov dword [0x6353ec], eax
mov dword [0x6353e4], 0xffffffff
mov dword [0x6196e8], 0xffffffff
mov dword [0x489644], 0xffffffff
mov dword [0x489648], 0xffffffff
mov dword [0x61947c], 0xffffffff
mov dword [0x619480], 0xffffffff
mov dword [0x619484], 0xffffffff
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.004390b0
mov edx, 1
mov eax, dword [ebp - 0x38]
call fcn.00438f10
mov edx, 5
or eax, 0xffffffff
call fcn.0044e664
mov edx, 5
or eax, 0xffffffff
call fcn.0044e744
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x25]
mov edx, dword [ebp - 0x10c]
movzx edx, word [edx + 0x27]
shl edx, 0x10
add eax, edx
push eax
mov eax, dword [0x63543c]
push eax
mov edx, 0x4509c8
xor ecx, ecx
xor eax, eax
call fcn.0042df58
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x25]
shl eax, 5
sub eax, 0x1c0
mov dword [0x635eec], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x27]
imul eax, eax, 0x16
sub eax, 0x160
mov dword [0x635ef0], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x25]
mov dword [0x635410], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x27]
mov dword [0x635414], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x25]
mov dword [0x635418], eax
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax + 0x27]
mov dword [0x63541c], eax
xor eax, eax
mov dword [0x635408], eax
xor eax, eax
mov dword [0x63540c], eax
xor eax, eax
mov dword [0x635400], eax
xor eax, eax
mov dword [0x635404], eax
mov byte [0x6353d2], 0
mov eax, dword [0x63643c]
dec eax
test eax, eax
jl 0x456b91
inc eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x3c], 0
imul eax, dword [ebp - 0x3c], 0x63
mov edx, dword [0x63644c]
lea eax, [edx + eax]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
cmp byte [eax + 0x28], 0
je 0x456b86
mov eax, dword [ebp - 0x110]
cmp byte [eax + 0x26], 0
jbe 0x456b86
mov eax, dword [ebp - 0x110]
movzx eax, byte [eax + 0x26]
mov ecx, eax
add ecx, ecx
mov eax, dword [ebp - 0x110]
movzx edx, word [eax + 2]
mov eax, dword [ebp - 0x110]
movzx eax, word [eax]
call fcn.0043da94
inc dword [ebp - 0x3c]
dec dword [ebp - 0xac]
jne 0x456b35
push 0xfa
push 0
mov edx, 0x4507e4
xor ecx, ecx
xor eax, eax
call fcn.0042df58
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x456bf1
lea eax, [ebp - 0x170]
mov edx, 0x18
call fcn.004030d0
lea eax, [ebp - 0x9c]
mov edx, 3
call fcn.004030d0
lea eax, [ebp - 0x30]
call fcn.004030ac
lea eax, [ebp - 0x2c]
mov edx, dword [0x4135a4]
call fcn.00403758
ret