Function at 0x416bab
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4cc99d
call fcn.004cc508
sub esp, 0x304
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x38], 0x4b37
xor ebx, ebx
cmp dword [ebp - 0x38], 0x4cf9
jle 0x416bff
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc edi
cmp edi, 0x3a32
jl 0x416bdd
inc esi
cmp esi, 0x375d
jl 0x416bdb
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x38], 0x4816
jge 0x416c21
mov edx, 0xa7b17c
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x416c47
mov dword [ebp - 0x30], 0xffffffff
movdqa xmm0, xmmword [0xa8bd70]
movdqu xmmword [ebp - 0x1b4], xmm0
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x1b4]
push eax
push ebx
lea ecx, [ebp - 0x94]
call fcn.0041be06
mov dword [ebp - 0x18], 0x1b0c
mov dword [ebp - 0x2c], 0xcef3cf68
mov dword [ebp - 0x30], 0x46d5
cmp dword [ebp - 0x30], 0x4844
jle 0x416d15
push 0x859
call dword [0xaa005c]
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], ebx
lea ecx, [edi + esi]
mov dword [ebp - 0x20], ecx
mov ecx, eax
mov esi, dword [ebp - 0x20]
shl esi, cl
mov eax, esi
and eax, ebx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc ebx
cmp ebx, 0x55e8
jl 0x416cd2
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x4374
push 0
pop ebx
mov esi, dword [ebp - 0x2c]
jl 0x416cc2
inc edi
cmp edi, 0x47ca
jl 0x416cbd
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x7898
jl 0x416cbb
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 4], 2
cmp dword [ebp - 0x30], 0x447d
jge 0x416d3b
mov edx, 0xa7b1b0
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x416d61
mov dword [ebp - 0x38], 0x70c0f3ad
mov dword [ebp - 0x20], 0x16744fa7
xor edi, edi
inc edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0x3a780915
mov dword [ebp - 0x20], 0x12bbf3af
push 3
lea ecx, [ebp - 0x108]
call fcn.00419467
mov dword [ebp - 0x1c], ebx
jmp 0x416da6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15c], 0xc51ac06e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x416d95
mov dword [ebp - 0x1c], ebx
jmp 0x416dc0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x416db1
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x24]
push 6
pop ecx
sub ecx, eax
xor eax, eax
cmp eax, ecx
sbb ecx, ecx
neg ecx
xor edx, edx
mov eax, dword [ebp - 0x94]
cmp ecx, dword [eax + 4]
setne dl
cmp edx, dword [ebp - 0x18]
jle 0x416e08
cmp dword [ebp - 0x18], ebx
mov eax, ebx
je 0x416e0a
mov eax, edi
add eax, 0xffff0001
je 0x416e18
cmp dword [ebp - 0x18], ebx
mov ecx, edi
jne 0x416e1a
mov ecx, ebx
mov eax, dword [ebp - 0x18]
imul eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edi
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x15c], ebx
jne 0x416e73
cmp dword [ebp - 0x30], ebx
mov ecx, ebx
je 0x416e75
mov ecx, edi
mov eax, dword [ebp - 0x108]
mov dword [eax], ecx
lea ecx, [ebp - 0x108]
call fcn.00419539
lea ecx, [ebp - 0x94]
call fcn.00419539
mov dword [ebp - 0x38], 0x4e24
cmp dword [ebp - 0x38], 0x50de
jle 0x416ece
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
or eax, esi
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc ebx
cmp ebx, 0x166c
jl 0x416ea8
inc esi
cmp esi, 0x4270
push 0
pop ebx
jl 0x416ea5
mov dword [ebp - 4], 4
cmp dword [ebp - 0x38], 0x4bef
jge 0x416eed
mov edx, 0xa7b200
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x416f16
mov dword [ebp - 0x20], 0x9714a025
mov dword [ebp - 0x20], 0x36951ad3
mov dword [ebp - 0x20], 0xbf5cd53b
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0x4aa0d722
mov dword [ebp - 0x20], 0xfffffff7
mov eax, 0xfc9a57b5
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x20], 3
push 2
lea ecx, [ebp - 0x138]
call fcn.00419467
mov dword [ebp - 0x38], 0xb35f1971
mov dword [ebp - 0x18], ebx
jmp 0x416f83
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x138]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x416f73
dec dword [ebp - 0x38]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x416fa0
push 0x1626
call dword [0xaa0130]
lea ecx, [ebp - 0x138]
call fcn.00419539
mov eax, dword [0xa9eaf8]
test al, 1
jne 0x417029
or eax, edi
mov dword [0xa9eaf8], eax
mov dword [0xa9eb20], ebx
mov dword [0xa9eb24], ebx
push ebx
push ebx
call fcn.0041b637
mov dword [0xa9eb20], eax
mov dword [0xa9eb28], ebx
mov dword [0xa9eb30], ebx
mov dword [0xa9eb3c], 0x3f800000
mov dword [ebp - 0x5c], eax
mov dword [0xa9eb2c], ebx
lea eax, [ebp - 0x5c]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x160]
push eax
mov ecx, 0xa9eb28
call fcn.0041b3dc
mov dword [0xa9eb34], 7
mov dword [0xa9eb38], 8
push 0x4cd80b
call fcn.004b709d
pop ecx
imul eax, dword [ebp - 0x54], 0x2710
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x7c], eax
push 2
lea ecx, [ebp - 0xf0]
call fcn.00419467
mov dword [ebp - 0x18], 0x79763266
mov dword [ebp - 0x18], ebx
jmp 0x417062
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x41704f
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x417196
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x3c], ebx
jl 0x41718e
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
jg 0x417178
mov dword [ebp - 0x1c], 0x3f1a0734
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x41716d
mov dword [ebp - 0x2c], 0x16e4
cmp dword [ebp - 0x2c], 0x1866
jle 0x417113
push ebx
call dword [0xaa0530]
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x38], ebx
mov eax, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x24c]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4170e7
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x24c]
call fcn.00419907
mov ecx, dword [ebp - 0x38]
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x1e3f
jl 0x4170cb
inc esi
cmp esi, 0x2a06
jl 0x4170c6
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x13fd
jge 0x41712e
push 0xa7b238
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x417157
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf0]
cmp dword [eax + ecx*4], ebx
jne 0x41716d
inc dword [ebp - 0x1c]
jmp 0x4170a4
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x24]
jmp 0x417091
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf0]
cmp dword [eax + ecx*4], ebx
jne 0x41718e
dec dword [ebp - 0x3c]
jmp 0x41707e
inc dword [ebp - 0x18]
jmp 0x41706b
lea ecx, [ebp - 0xf0]
call fcn.00419539
lea eax, [ebp - 0x7c]
push eax
call fcn.0041957b
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
push 3
lea ecx, [ebp - 0xb0]
call fcn.00419467
mov dword [ebp - 0x1c], 0x9dada439
push edi
lea ecx, [ebp - 0x190]
call fcn.00419467
push 4
lea ecx, [ebp - 0x16c]
call fcn.00419467
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x34], 0xdc068927
mov dword [ebp - 0x24], ebx
jmp 0x417202
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0x8bbc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x4171ef
mov dword [ebp - 0x24], ebx
jmp 0x417220
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0xc7c44d99
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x41720d
mov dword [ebp - 0x24], ebx
jmp 0x41723d
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], 0xaa9634d7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x41722a
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 2
jg 0x4174d9
mov dword [ebp - 0x18], 0x6445
cmp dword [ebp - 0x18], 0x67e2
jle 0x4172ab
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], 0x9a1
mov esi, ebx
mov ebx, dword [ebp - 0x2c]
mov eax, ebx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc esi
cmp esi, 0x4ce3
jl 0x417274
dec ebx
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x30]
push 0
pop ebx
jne 0x41726f
mov esi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x7ca3
jl 0x417265
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 4], 8
cmp dword [ebp - 0x18], 0x6403
jge 0x4172cd
mov edx, 0xa7b2cc
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x4172f6
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417312
push 0x33f
push ebx
call dword [0xaa0354]
mov dword [ebp - 0x3c], 2
cmp dword [ebp - 0x3c], ebx
jl 0x4174d1
mov dword [ebp - 0x2c], 0xea4c5706
mov dword [ebp - 0x24], ebx
jmp 0x41733f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1c4], 0x90611bc3
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x41732e
mov dword [ebp - 0x24], ebx
jmp 0x41735b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1dc], 0x3faa32f3
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x41734a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx + eax*4], ebx
jne 0x41737a
cmp dword [ecx + 4], ebx
mov dword [ebp - 0x2c], ebx
je 0x41737d
mov dword [ebp - 0x2c], edi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
xor edx, edx
cmp dword [ebp - 0x1b8], edx
sete dl
mov eax, dword [ebp - 0xb0]
imul edx, dword [eax + ecx*4]
add edx, dword [ebp - 0x2c]
xor ecx, ecx
cmp dword [eax + esi*4], edx
setne cl
mov eax, dword [ebp - 0x1c]
add eax, ecx
cmp eax, edi
je 0x4173c7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], 3
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], 0x69cd
cmp dword [ebp - 0x40], 0x6c68
jle 0x41746c
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], 0x13f8
mov esi, ebx
mov edx, ebx
mov dword [ebp - 0x30], edx
mov eax, ecx
mov ecx, esi
shl eax, cl
mov dword [ebp - 0x20], eax
and eax, edx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
mov edx, dword [ebp - 0x30]
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x7230
mov eax, dword [ebp - 0x20]
jl 0x41740a
inc esi
cmp esi, 0x54a0
mov ecx, dword [ebp - 0x2c]
jl 0x4173fc
mov eax, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x18]
jne 0x4173fa
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x216
jl 0x4173ee
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x157
push 0x26af
push 0xb83
push ebx
call dword [0xaa0034]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417481
push 0xe21
push ebx
call dword [0xaa037c]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x40], 0x66d8
jge 0x4174a0
mov edx, 0xa7b324
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x4174c9
dec dword [ebp - 0x3c]
jmp 0x417319
inc dword [ebp - 0x1c]
jmp 0x417246
inc dword [ebp - 0x34]
lea ecx, [ebp - 0x16c]
call fcn.00419539
lea ecx, [ebp - 0x190]
call fcn.00419539
lea ecx, [ebp - 0xb0]
call fcn.00419539
cmp dword [ebp - 0x38], 0
je 0x4179fd
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], 0x61c0f806
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], 0xe39e3cf9
mov dword [ebp - 0x24], ebx
jmp 0x417543
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417540
push ebx
push ebx
push 0xdde
call dword [0xaa0540]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x14
jg 0x41752a
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 2
je 0x417879
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x3c], 0x31ee
cmp dword [ebp - 0x3c], 0x358d
jle 0x417624
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
cdq
idiv esi
mov eax, edx
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x30]
cdq
idiv ecx
mov eax, esi
sub eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4175b2
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2ac]
call fcn.00419907
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x490e
mov eax, dword [ebp - 0x44]
jl 0x417593
mov esi, dword [ebp - 0x40]
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x6683
mov eax, dword [ebp - 0x2c]
jl 0x417583
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4903
jl 0x41757e
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x16d4
jl 0x417579
push ebx
push 0x3f2
push ebx
push 0x1005
push 0x2124
push ebx
push 0x19e9
call dword [0xaa0368]
inc dword [ebp - 0x28]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x3c], 0x2ed5
jge 0x417642
push 0xa7b370
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x41766b
mov dword [ebp - 0x20], 0x1513
cmp dword [ebp - 0x20], 0x16dd
jle 0x4176f2
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], 0x159a
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
lea ebx, [ecx + eax]
mov eax, ebx
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc esi
cmp esi, 0x4e47
jl 0x417696
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x8d4
push 0
pop ebx
mov ecx, dword [ebp - 0x2c]
jl 0x417691
dec ecx
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x40]
jne 0x41768c
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x164f
jl 0x417680
push ebx
push 0x24e3
push 0x24e1
push 0x313
call dword [0xaa009c]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jg 0x417829
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 3
mov dword [ebp - 0x1c], ebx
jg 0x41781b
cmp dword [ebp - 0x1c], 3
jg 0x4177eb
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417734
push ebx
push 0xb58
push 0x2212
push ebx
call dword [0xaa031c]
mov dword [ebp - 0x40], 0x740f
cmp dword [ebp - 0x40], 0x761e
jle 0x417783
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x34], ebx
or eax, esi
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x5dd9
jl 0x41774b
inc esi
cmp esi, 0x6320
jl 0x417746
push ebx
push 0x1fc4
push 0x13a5
push ebx
call dword [0xaa0068]
mov byte [ebp - 0x11], bl
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x40], 0x707c
jge 0x4177a5
mov edx, 0xa7b3f8
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x4177ce
cmp byte [ebp - 0x11], 0
je 0x4177e3
push ebx
push ebx
push 0x7c7
push ebx
push ebx
call dword [0xaa0574]
inc dword [ebp - 0x1c]
jmp 0x41770f
inc dword [ebp - 0x3c]
jmp 0x417702
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417804
push ebx
push ebx
call dword [0xaa03d8]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417818
push 0x121e
call dword [0xaa0518]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x4177f3
inc dword [ebp - 0x18]
jmp 0x4176f5
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x20], 0x11e4
jge 0x417848
mov edx, 0xa7b3e0
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x417871
inc dword [ebp - 0x24]
jmp 0x41754c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x44], 0x24f0
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x40], 0xf2
cmp dword [ebp - 0x40], 0x36f
jle 0x4178fa
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0x640f
mov esi, ebx
mov ebx, dword [ebp - 0x20]
mov eax, ebx
and eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc esi
cmp esi, 0x7d32
jl 0x4178af
dec ebx
mov dword [ebp - 0x20], ebx
dec dword [ebp - 0x28]
push 0
pop ebx
jne 0x4178aa
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x77dc
jl 0x4178a0
inc edi
cmp edi, 0x693d
jl 0x41789b
push 0x1546
call dword [0xaa051c]
cmp byte [ebp - 0x11], 0
je 0x417926
push ebx
push 0x922
push 0x1242
push 0x1e2
push 0x35e
push 0x1393
push 0x1252
push ebx
call dword [0xaa0334]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x40], 0xffffff96
jge 0x417942
mov edx, 0xa7b480
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x417968
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417985
push ebx
push 0xc6a
push ebx
push ebx
push 0x1d39
push ebx
call dword [0xaa030c]
mov dword [ebp - 0x44], 0xfaa
cmp dword [ebp - 0x44], 0x12bb
jle 0x4191b6
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x5c], ebx
mov eax, edi
cdq
idiv ecx
mov ebx, edx
mov edi, dword [ebp - 0x5c]
mov eax, edi
xor eax, esi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc edi
cmp edi, 0x4af7
jl 0x4179b2
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x2964
push 0
pop ebx
mov edi, dword [ebp - 0x28]
jl 0x4179a5
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0xb88
jl 0x4179a0
inc esi
cmp esi, 0x2afb
jl 0x41799b
jmp 0x4191b6
mov eax, dword [0xa9eaf8]
test al, 2
jne 0x417a82
or eax, 2
mov dword [0xa9eaf8], eax
mov dword [0xa9eb40], ebx
mov dword [0xa9eb44], ebx
push ebx
push ebx
call fcn.0041b637
mov dword [0xa9eb40], eax
mov dword [0xa9eb48], ebx
mov dword [0xa9eb50], ebx
mov dword [0xa9eb5c], 0x3f800000
mov dword [ebp - 0xcc], eax
mov dword [0xa9eb4c], ebx
lea eax, [ebp - 0xcc]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x194]
push eax
mov ecx, 0xa9eb48
call fcn.0041b3dc
mov dword [0xa9eb54], 7
mov dword [0xa9eb58], 8
push 0x4cd806
call fcn.004b709d
pop ecx
mov dword [ebp - 0x34], 0xf7
cmp dword [ebp - 0x34], 0x228
jle 0x417add
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ebx, esi
mov dword [ebp - 0x20], 0x1979
mov esi, dword [ebp - 0x2c]
mov eax, ebx
and eax, esi
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
dec ebx
dec dword [ebp - 0x20]
jne 0x417aa6
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x56e5
jl 0x417a9a
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x78c7
push 0
pop ebx
jl 0x417a95
push 2
lea ecx, [ebp - 0x178]
call fcn.00419467
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x34], 0xfffffd7b
jge 0x417b09
mov edx, 0xa7b4f0
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x417b32
mov dword [ebp - 0x24], 0x7ce53d8d
mov dword [ebp - 0x28], 0x3248c66f
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x18], ebx
jmp 0x417b5f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], 0x5d6c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x417b4c
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
jg 0x417c95
mov dword [ebp - 0x34], 0x4840
cmp dword [ebp - 0x34], 0x48d2
jle 0x417be6
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], ebx
mov edx, eax
mov ecx, esi
sar edx, cl
mov dword [ebp - 0x20], edx
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov eax, esi
mov ecx, ebx
sar eax, cl
or eax, edx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc ebx
cmp ebx, 0x16d4
mov edx, dword [ebp - 0x20]
jl 0x417b9c
inc esi
cmp esi, 0x7514
push 0
pop ebx
jl 0x417b99
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x6d6f
mov eax, dword [ebp - 0x2c]
jl 0x417b8b
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3b43
jl 0x417b86
mov dword [ebp - 0x1c], 0x34bf8f0a
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x34], 0x473d
jge 0x417c0c
mov edx, 0xa7b510
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x417c35
mov dword [ebp - 0x20], 0xffffffff
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], ebx
jmp 0x417c88
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417c63
push 0x1b20
push 0x192d
push 0x1e3b
push ebx
call dword [0xaa0338]
mov dword [ebp - 0x1c], ebx
jmp 0x417c80
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x417c68
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x417c44
inc dword [ebp - 0x24]
jmp 0x417b68
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417ca6
push ebx
push ebx
call dword [0xaa0384]
lea ecx, [ebp - 0x178]
call fcn.00419539
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xa4], xmm0
lea eax, [ebp - 0x54]
push eax
call fcn.004195dd
mov esi, dword [eax]
mov dword [ebp - 0x2c], esi
mov al, byte [ebp + 0xc]
test al, al
jne 0x417cd9
test esi, esi
jne 0x41814d
lea ecx, [ebp - 0x310]
push ecx
mov dl, al
mov ecx, dword [ebp - 0x54]
call fcn.00401995
pop ecx
mov esi, eax
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0x1dd2e91c
mov dword [ebp - 0x18], ebx
xor edi, edi
inc edi
jmp 0x417d14
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x417d06
mov dword [ebp - 0x48], 0xfffffff0
jmp 0x417def
push edi
lea ecx, [ebp - 0xe4]
call fcn.00419467
mov dword [ebp - 0x1c], 0x3248c66f
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 0x5bb08661
mov dword [ebp - 0x18], ebx
jmp 0x417d5a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x417d47
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x417de1
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x417d91
push ebx
push 0x364
push ebx
push 0x787
call dword [0xaa00a4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0xe4]
cmp dword [eax], edi
setge cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setl dl
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0xe4]
cmp edx, dword [eax + esi*4]
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x1c]
jns 0x417d67
lea ecx, [ebp - 0xe4]
call fcn.00419539
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff9
jl 0x417d25
cmp byte [ebp + 0xc], 0
je 0x41814d
cmp dword [ebp - 0x9c], 0
je 0x41814d
mov dword [ebp - 0x1c], 0xb55bb2c2
mov dword [ebp - 0x1c], 0xd
jmp 0x417e4f
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x417e3d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d0], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x417e2c
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffff
jle 0x417e20
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x64], eax
push 3
lea ecx, [ebp - 0xd8]
call fcn.00419467
mov dword [ebp - 0x28], 0x7a07
cmp dword [ebp - 0x28], 0x7d76
jle 0x417eda
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x30]
mov eax, esi
sar eax, cl
and eax, ebx
or eax, edx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x2034
mov edx, dword [ebp - 0x18]
jl 0x417e8d
inc esi
cmp esi, 0x8019
push 0
pop ebx
jl 0x417e85
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x5bdc
jl 0x417e83
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x41b4
jl 0x417e80
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x28], 0x7755
jge 0x417ef9
mov edx, 0xa7b594
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x417f22
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
jmp 0x417f3d
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0x9ff6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x417f2a
mov dword [ebp - 0x24], ebx
jmp 0x417f56
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x78], 0x67a876e6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x417f48
mov dword [ebp - 0x24], ebx
jmp 0x417f6e
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1ec], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x417f61
mov dword [ebp - 0x78], 2
cmp dword [ebp - 0x78], ebx
jl 0x418139
mov dword [ebp - 0x18], 0x25cbd945
mov dword [ebp - 0x28], 0x68ea
cmp dword [ebp - 0x28], 0x6c27
jle 0x418015
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov edx, eax
mov ecx, esi
shl edx, cl
mov dword [ebp - 0x40], edx
mov esi, ebx
mov eax, esi
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x27c]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x417fcf
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x27c]
call fcn.00419907
inc esi
cmp esi, 0x5550
mov edx, dword [ebp - 0x40]
jl 0x417fb3
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x7b0b
mov eax, dword [ebp - 0x30]
jl 0x417fa5
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x23c6
jl 0x417fa0
push ebx
push ebx
push ebx
call dword [0xaa03a0]
mov dword [ebp - 0x20], 9
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x28], 0x6678
jge 0x418037
push 0xa7b610
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418060
push 3
lea ecx, [ebp - 0x120]
call fcn.00419467
mov dword [ebp - 0x18], ebx
jmp 0x418085
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0x1c33c017
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x418072
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x418123
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], 0xf1e0
push 0
pop ecx
setne cl
imul ecx, dword [eax + edx*4]
xor eax, eax
cmp ecx, edi
setle al
cmp dword [ebp - 0x18], eax
jl 0x4180d4
cmp dword [ebp - 0x78], ebx
jne 0x4180d4
mov edi, ebx
xor eax, eax
cmp edi, 0x48dc
setg al
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], esi
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], 1
push 0
pop ecx
setne cl
sub ecx, dword [eax + edx*4]
add ecx, esi
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x1ec]
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setne cl
inc ecx
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x18]
push 1
pop edi
jns 0x4180a4
lea ecx, [ebp - 0x120]
call fcn.00419539
dec dword [ebp - 0x78]
xor edi, edi
inc edi
jmp 0x417f7b
lea ecx, [ebp - 0xd8]
call fcn.00419539
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x60], eax
push edi
lea ecx, [ebp - 0x144]
call fcn.00419467
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x1c], ebx
jmp 0x41817f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0x665683c8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x41816c
mov dword [ebp - 0x1c], ebx
jmp 0x418193
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x418189
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, 0xdade
mov edx, dword [ebp - 0x50]
imul edx, ecx
mov eax, dword [ebp - 0x20]
add eax, edx
xor ecx, ecx
cmp eax, 0x8213
setle cl
xor eax, eax
cmp ecx, edi
setge al
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x144]
call fcn.00419539
cmp dword [ebp - 0x2c], 0
jne 0x4187ae
cmp dword [ebp - 0xa4], 0
jle 0x4187ae
push 2
lea ecx, [ebp - 0x150]
call fcn.00419467
mov dword [ebp - 0x18], 0x7ce53d8d
mov dword [ebp - 0x20], 0x3248c66f
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x18], ebx
jmp 0x41823b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0x5d6c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x418228
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x418372
mov dword [ebp - 0x1c], 0x34bf8f0a
mov dword [ebp - 0x28], 0xffffffff
dec dword [ebp - 0x1c]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
jg 0x41836a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x418340
mov dword [ebp - 0x20], 0x5c6f
cmp dword [ebp - 0x20], 0x5da2
jle 0x4182e2
mov dword [ebp - 0x1c], ebx
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov eax, esi
cdq
idiv dword [ebp - 0x30]
sub ecx, edx
mov eax, dword [ebp - 0x1c]
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x602a
mov ecx, dword [ebp - 0x3c]
jl 0x418294
inc esi
cmp esi, 0x639c
jl 0x418291
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x7380
jl 0x41828f
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x5e3a
jl 0x41828a
push 0x1b20
push 0x192d
push 0x1e3b
push ebx
call dword [0xaa0338]
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x20], 0x5b3d
jge 0x418317
mov edx, 0xa7b6a0
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x418340
mov dword [ebp - 0x1c], ebx
jmp 0x41835d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x418345
inc dword [ebp - 0x24]
jmp 0x418261
inc dword [ebp - 0x18]
jmp 0x418244
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x418383
push ebx
push ebx
call dword [0xaa0384]
lea ecx, [ebp - 0x150]
call fcn.00419539
mov dword [ebp - 0x34], 0x3aee
cmp dword [ebp - 0x34], 0x3b3e
jle 0x41844d
push ebx
push 0x18c2
push ebx
call dword [0xaa014c]
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x20], esi
mov edx, ecx
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x40], ebx
mov ecx, esi
shl edx, cl
mov dword [ebp - 0x3c], edx
mov esi, ebx
mov eax, esi
xor eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x204]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4183ef
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x204]
call fcn.00419907
inc esi
cmp esi, 0x27f4
mov edx, dword [ebp - 0x3c]
jl 0x4183d3
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5052
mov edx, dword [ebp - 0x18]
jl 0x4183c7
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x1bb6
mov ecx, dword [ebp - 0x30]
jl 0x4183b9
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x6215
jl 0x4183b4
push 0x1833
call dword [0xaa00a0]
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x34], 0x37d7
jge 0x418468
push 0xa7b700
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418491
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x28], 0x33f
cmp dword [ebp - 0x28], 0x478
jle 0x4184f7
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x21c]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4184cb
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x21c]
call fcn.00419907
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x915
jl 0x4184af
inc esi
cmp esi, 0x164e
jl 0x4184aa
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x28], 0x121
jge 0x418519
push 0xa7b788
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418542
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], 0x111738ab
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x20], 0x8588d0d3
mov dword [ebp - 0x20], 0x443eb606
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x20], 0x4d513c61
mov dword [ebp - 0x18], ebx
jmp 0x418585
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2e8], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x418574
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 0x313dd33a
movdqa xmm0, xmmword [0xa8bd40]
movdqu xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x1a4]
push eax
push ebx
lea ecx, [ebp - 0xbc]
call fcn.0041be06
mov dword [ebp - 0x18], ebx
jmp 0x4185f0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0x1bd97a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4185e2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x1c
jg 0x418754
push 3
lea ecx, [ebp - 0xc8]
call fcn.00419467
mov dword [ebp - 0x1c], ebx
jmp 0x418623
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x418614
mov esi, dword [ebp - 0xc8]
add esi, 4
mov dword [esi], ebx
mov dword [ebp - 0x28], esi
cmp dword [esi], ebx
jg 0x418741
mov dword [ebp - 0x20], 0xaea
cmp dword [ebp - 0x20], 0xb73
jle 0x4186a0
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x234]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x418672
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x234]
call fcn.00419907
inc esi
cmp esi, 0x1e5e
mov eax, dword [ebp - 0x30]
jl 0x418656
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x50bc
jl 0x418654
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [esi]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [esi]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebp - 0x28]
cmp esi, eax
setg cl
cmp ecx, edx
jl 0x4186cf
test esi, esi
mov edx, ebx
je 0x4186d1
mov edx, edi
mov ecx, dword [ebp + esi*4 - 0x58]
mov eax, dword [ebp - 0xc8]
sub ecx, dword [eax + 8]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax], ecx
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x20], 0x8dd
jge 0x418708
push 0xa7b800
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418731
mov esi, dword [ebp - 0xc8]
add esi, 4
inc dword [esi]
jmp 0x418634
lea ecx, [ebp - 0xc8]
call fcn.00419539
inc dword [ebp - 0x18]
jmp 0x4185f8
lea ecx, [ebp - 0xbc]
call fcn.00419539
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x4187ae
cmp dword [ebp - 0x34], 0
je 0x4187ae
push 0x61e6
push 0x1b3c
push 0x46c3
push edi
push 0x1337
push 0x1bbe
push 0x353
push esi
push edi
call fcn.00414daf
push esi
call fcn.004456a7
add esp, 0x28
mov esi, eax
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x54]
push eax
call fcn.004195dd
mov dword [eax], esi
mov dword [ebp - 0x18], 0xfdf99ff6
mov dword [ebp - 0x18], ebx
jmp 0x418803
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 0x6ec79cf1
cmp dword [ebp - 0x18], ebx
mov byte [ebp - 0x11], bl
je 0x4187ef
cmp byte [ebp - 0x11], 0
je 0x4187dd
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0xaa0380]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xa485bf25
setne cl
mov dword [ebp - 0x28], ecx
jmp 0x418800
cmp byte [ebp - 0x11], 0
je 0x418800
push 0x749
call dword [0xaa007c]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jge 0x4187ba
lea ecx, [ebp - 0xa4]
call fcn.0040dab2
mov dword [ebp - 0x1c], 0x83c7730f
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x18], 6
push 4
lea ecx, [ebp - 0x114]
call fcn.00419467
mov dword [ebp - 0x30], 0x953526c7
mov dword [ebp - 0x34], 0x1434
cmp dword [ebp - 0x34], 0x1541
jle 0x41889f
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x20], 0x5510
mov eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x264]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x418876
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x264]
call fcn.00419907
dec esi
dec dword [ebp - 0x20]
jne 0x41885c
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x643a
jl 0x418852
mov dword [ebp - 0x20], 7
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x34], 0x10b3
jge 0x4188c1
push 0xa7b854
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4188ea
mov dword [ebp - 0x1c], ebx
jmp 0x4188fe
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x4188ef
mov dword [ebp - 0x1c], 8
cmp dword [ebp - 0x1c], ebx
je 0x41891d
mov dword [ebp - 0x18], 0x72ba
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
add ecx, 0x7d3bb8a2
mov eax, dword [ebp - 0x114]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setge dl
cmp edx, 0xd35da2
je 0x418967
cmp dword [ebp - 0x30], ebx
mov eax, ebx
je 0x418969
mov eax, edi
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x114]
call fcn.00419539
cmp dword [ebp - 0x38], 0
jne 0x419145
cmp dword [ebp - 0x2c], 0
je 0x419145
mov dword [ebp - 0x1c], 0x152c58fb
mov dword [ebp - 0x28], 0x48ba
cmp dword [ebp - 0x28], 0x49f8
jle 0x418a07
mov edx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
lea ecx, [esi + eax]
mov ebx, edx
sar ebx, cl
mov esi, dword [ebp - 0x34]
mov eax, esi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xa9d958
call fcn.0041923c
inc esi
cmp esi, 0x3571
jl 0x4189be
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x577b
push 0
pop ebx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
jl 0x4189b1
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x5ca1
jl 0x4189ac
inc edx
mov dword [ebp - 0x3c], edx
cmp edx, 0x500f
jl 0x4189a7
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x28], 0x46f0
jge 0x418a29
mov edx, 0xa7b8c0
mov ecx, 0xa9d958
call fcn.0041b738
or dword [ebp - 4], 0xffffffff
jmp 0x418a52
mov dword [ebp - 0x3c], 0xda550e8f
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], 0x4bb2
cmp dword [ebp - 0x28], 0x4cb0
jle 0x418add
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov edx, eax
mov ecx, esi
shl edx, cl
mov dword [ebp - 0x40], edx
mov esi, ebx
mov eax, esi
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x294]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x418aa0
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x294]
call fcn.00419907
inc esi
cmp esi, 0x7a38
mov edx, dword [ebp - 0x40]
jl 0x418a84
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x41bb
mov eax, dword [ebp - 0x38]
jl 0x418a76
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x78e
jl 0x418a71
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x28], 0x47f4
jge 0x418aff
push 0xa7b914
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418b28
push 0xa
pop edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], ebx
jmp 0x418b44
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x88], 0xfffffffe
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x418b33
mov dword [ebp - 0x24], ebx
jmp 0x418b60
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x12c], 0xfa90ef87
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x418b4f
mov dword [ebp - 0x24], ebx
jmp 0x418b79
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x4c], 0xfffffffa
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x418b6b
cmp dword [ebp - 0x1c], ebx
jne 0x418bc8
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x88], 0x6f79
mov eax, dword [ebp - 0x1c]
dec eax
neg eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp eax, 0x2121
setge cl
mov dword [ebp - 0x128], ecx
xor eax, eax
cmp ecx, edi
setg al
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x4c]
add eax, edx
cmp eax, dword [ebp - 0x4c]
jg 0x418be4
cmp dword [ebp - 0x4c], ebx
mov ecx, ebx
je 0x418be6
mov ecx, edi
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 5
neg edx
sbb edx, edx
neg edx
mov ecx, dword [ebp - 0x1c]
add ecx, edx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setg dl
sub edx, 0xfffffffb
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x3c]
neg ecx
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setle cl
mov edx, dword [ebp - 0x84]
imul edx, ecx
neg edx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setle cl
xor edx, edx
cmp ecx, 0xffffffff
setg dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setge cl
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x18]
jne 0x418ca4
cmp dword [ebp - 0x1c], ebx
mov edx, ebx
je 0x418ca6
mov edx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x12c], eax
add eax, 0xffff050f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, 0x7092ff82
setg dl
imul edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0x1bf33464
jg 0x418dde
mov dword [ebp - 0x18], 0xffffffe2
cmp dword [ebp - 0x18], 0x39
jge 0x418e3b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x418dd6
mov dword [ebp - 0x28], 0x69f0
cmp dword [ebp - 0x28], 0x6aa2
jle 0x418d8b
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov ecx, esi
shl eax, cl
mov dword [ebp - 0x40], eax
mov esi, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2dc]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x418d4e
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2dc]
call fcn.00419907
inc esi
cmp esi, 0xf49
mov eax, dword [ebp - 0x40]
jl 0x418d32
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x5a6a
mov eax, dword [ebp - 0x38]
jl 0x418d26
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x6fed
jl 0x418d21
push ebx
call dword [0xaa0128]
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x28], 0x678a
jge 0x418dad
push 0xa7b968
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x418dd6
inc dword [ebp - 0x18]
jmp 0x418cf5
mov dword [ebp - 0x20], 0xedc
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x40], 0xfffffffe
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x84]
add eax, 0xffff14cf
cmp dword [ebp - 0x38], eax
jle 0x418e1b
cmp dword [ebp - 0x128], ebx
je 0x418e1b
cmp dword [ebp - 0x28], ebx
mov ecx, edi
jne 0x418e1d
mov ecx, ebx
mov eax, dword [ebp - 0x34]
add eax, ecx
xor ecx, ecx
cmp eax, 0xffffffff
setge cl
cmp ecx, 0xfffffffb
jae 0x418e36
cmp dword [ebp - 0x38], ebx
mov eax, ebx
je 0x418e38
mov eax, edi
mov dword [ebp - 0x40], eax
push dword [ebp - 0x44]
push dword [ebp - 0x2c]
call fcn.0044c6e3
pop ecx
pop ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x38], 0x9bf3
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x28], 0x79de
cmp dword [ebp - 0x28], 0x7c0a
jle 0x418eca
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], 0x443f
cdq
push edx
push eax
lea ecx, [ebp - 0x300]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x418ea0
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x300]
call fcn.00419907
mov eax, dword [ebp - 0x44]
add eax, esi
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x20]
jne 0x418e88
inc esi
cmp esi, 0x6b5
jl 0x418e7c
mov dword [ebp - 0x18], ebx
jmp 0x418fdd
push 2
lea ecx, [ebp - 0xfc]
call fcn.00419467
mov dword [ebp - 0x44], 0xa22e
mov dword [ebp - 0x20], 0x2fd6b221
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x20], 0x12b6a360
mov dword [ebp - 0x1c], ebx
jmp 0x418f0f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x418f00
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 4], 0xfffffff9
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], 0x90f9
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], eax
jl 0x418f67
cmp dword [ecx + 4], ebx
jne 0x418fe9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x418f83
push ebx
push 0x1e9b
push 0xdbb
push 0xb10
call dword [0xaa0134]
jmp 0x418f83
mov dword [ebp - 0x44], 0xfffffff8
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
je 0x418f80
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x418fc9
mov dword [ebp - 0x44], 0x8fefd6e5
mov dword [ebp - 0x20], 0xf9f7e48f
mov edx, dword [ebp - 0x1c]
dec edx
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x418fc6
push 0x8c0
push 0x45f
call dword [0xaa0520]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe2
jl 0x418f88
lea ecx, [ebp - 0xfc]
call fcn.00419539
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jg 0x418ed2
jmp 0x418ff4
lea ecx, [ebp - 0xfc]
call fcn.00419539
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x28], 0x76b7
jge 0x41900f
push 0xa7ba04
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x419038
mov dword [ebp - 0x28], 0x46ae
cmp dword [ebp - 0x28], 0x47c6
jle 0x4190b9
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], ebx
mov edx, esi
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x40], edx
mov esi, ebx
mov eax, edx
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x2c4]
call fcn.0040191d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x41907c
mov eax, dword [eax]
push eax
call fcn.004b70c7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2c4]
call fcn.00419907
inc esi
cmp esi, 0x61f0
mov edx, dword [ebp - 0x40]
jl 0x419060
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, 0x26ca
mov esi, dword [ebp - 0x20]
jl 0x419052
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x4d88
jl 0x41904d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4190f3
push ebx
push 0x258d
push 0x26f7
push 0x3a0
push 0x561
push 0x22a6
push 0x26d2
push 0x22c0
push 0x1c77
push ebx
push ebx
call dword [0xaa002c]
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x28], 0x4639
jge 0x41910e
push 0xa7ba80
call fcn.004b70c7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x419137
lea eax, [ebp - 0x7c]
push eax
call fcn.0041957b
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
push 2
lea ecx, [ebp - 0x184]
call fcn.00419467
mov dword [ebp - 0x2c], 0xc7730f94
mov dword [ebp - 0x18], ebx
jmp 0x41916d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x41915e
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
jl 0x41919a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x419195
push 0xbbb
push 0x1a82
push ebx
call dword [0xaa0144]
dec dword [ebp - 0x2c]
jns 0x41917b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4191ab
push ebx
push ebx
call dword [0xaa0028]
lea ecx, [ebp - 0x184]
call fcn.00419539
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret