Function at 0x40ee9d
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4d35b5
call fcn.004d30a8
push ecx
mov eax, 0x1070
call fcn.004cfa50
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x74], dl
mov dword [ebp - 0x60], ecx
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x3a0]
call fcn.0040b8da
mov dword [ebp - 0x4c], 0x905c8094
mov dword [ebp - 0x44], 0x1517
xor eax, eax
xor edi, edi
inc edi
cmp dword [ebp - 0x44], 0x1735
jle 0x40ef39
mov esi, eax
mov dword [ebp - 0x40], eax
xor ebx, ebx
add eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x1018]
call fcn.00401ab8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040b6a8
push eax
call fcn.004bdbc7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1018]
call fcn.0040be88
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x4ec8
jl 0x40eef0
inc esi
xor eax, eax
cmp esi, 0x25ae
jl 0x40eeeb
push 2
pop ebx
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 4], eax
cmp dword [ebp - 0x44], 0x1153
jge 0x40ef57
push 0xab9130
call fcn.004bdbc7
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x40ef85
mov dword [ebp - 0x34], 0xa9413e45
push 3
pop esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0x1938d10f
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0x9d1fe905
mov dword [ebp - 0x34], 0x6158f876
mov dword [ebp - 0x34], 0x4fe874d4
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xf085ffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xa4d2c64
push ebx
lea ecx, [ebp - 0xa8c]
call fcn.0040b8da
mov dword [ebp - 0x40], 0xc86797b
mov dword [ebp - 0x1c], 0
jmp 0x40f010
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3a0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f000
mov dword [ebp - 0x1c], 0
jmp 0x40f031
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa8c]
mov dword [eax + ecx*4], 0x3632cac2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f01e
mov dword [ebp - 0x4c], 0
cmp dword [ebp - 0x4c], edi
jg 0x40f174
mov ebx, dword [ebp - 0x3a0]
push 7
pop eax
mov dword [ebp - 0x44], 0x868b
mov dword [ebp - 0x20], 0xced45b0e
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], 0xbfedaacd
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x28], 0x177fd8b2
push esi
lea ecx, [ebp - 0xa74]
call fcn.0040b8da
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x14], 0
jmp 0x40f0ae
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa74]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x40f09b
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [eax + ecx*4]
add ecx, dword [eax + edx*4]
sub ecx, dword [ebx + 4]
sub ecx, 0x3fc4
jne 0x40f0d7
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x40f0d9
mov eax, edi
mov esi, dword [ebp - 0x4c]
xor edx, edx
cmp eax, dword [ebx + 4]
setg dl
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
mov eax, dword [ebp - 0x3a0]
cmp dword [eax + esi*4], ecx
setle dl
sub edx, dword [eax]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0
jmp 0x40f14f
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x40f14c
push 0x4cc
call dword [0xad3074]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x40f137
lea ecx, [ebp - 0xa74]
call fcn.0040b9ac
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], edi
push 3
pop esi
push 7
pop eax
jle 0x40f04f
push 2
pop ebx
lea ecx, [ebp - 0xa8c]
call fcn.0040b9ac
lea ecx, [ebp - 0x3a0]
call fcn.0040b9ac
mov dword [ebp - 0x34], 0x35568345
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x40f1b7
push 0x8ee
push 0x13ec
push 0x936
push 0x64b
call dword [0xad33ac]
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x40f1d2
push eax
push 0x23f1
push eax
push 0x135c
call dword [0xad3064]
push ebx
lea ecx, [ebp - 0x488]
call fcn.0040b8da
mov dword [ebp - 0x1c], 0x869ec427
push esi
lea ecx, [ebp - 0x63c]
call fcn.0040b8da
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x40], 0xb3f4b141
mov dword [ebp - 0x30], 0xd9532955
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], esi
jge 0x40f228
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x63c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x40f214
imul eax, dword [ebp - 0x1c], 0xfffe
test eax, eax
je 0x40f25e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x63c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp edx, eax
setg bl
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x40f2b2
push edi
push 0x11a6
push 0x2086
push 0x1432
call dword [0xad3458]
lea ecx, [ebp - 0x63c]
call fcn.0040b9ac
mov dword [ebp - 0x38], 0x905c8094
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x34], 0xa9413e45
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x1c], edi
jge 0x40f2f2
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x298], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x40f2e0
mov dword [ebp - 0x1c], 0
jmp 0x40f308
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x190], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x40f2fb
mov dword [ebp - 0x190], 0
jmp 0x40f326
mov dword [ebp + eax*4 - 0x298], esi
inc dword [ebp - 0x190]
cmp dword [ebp - 0x190], edi
mov eax, dword [ebp - 0x190]
jl 0x40f319
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], esi
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], 0xfffffffe
push 4
lea ecx, [ebp - 0x518]
call fcn.0040b8da
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x50], ebx
jmp 0x40f376
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xec], 2
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jl 0x40f365
mov dword [ebp - 0x50], ebx
jmp 0x40f391
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xaa4], 0x34215e1a
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], esi
jl 0x40f380
mov dword [ebp - 0x50], ebx
jmp 0x40f3ae
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x518]
mov dword [eax + ecx*4], 0x3826a056
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 4
jl 0x40f39b
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], esi
jge 0x40f3d0
xor ebx, ebx
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x768], ebx
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], esi
jl 0x40f3be
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], 0
jne 0x40f408
dec dword [ebp - 0x764]
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0xec]
imul ecx, eax
test ecx, ecx
jne 0x40f408
cmp dword [ebp - 0x20], 0x35327163
jle 0x40f408
mov eax, dword [ebp - 0x518]
xor ebx, ebx
cmp dword [eax + 4], ebx
je 0x40f40a
mov ecx, edi
xor eax, eax
test ecx, ecx
setg al
imul eax, dword [ebp - 0xec]
cmp eax, 0x2c7a2e42
jge 0x40f429
cmp dword [ebp - 0x40], 0
je 0x40f429
mov edx, edi
jmp 0x40f42b
xor edx, edx
mov eax, dword [ebp - 0xaa0]
xor ecx, ecx
cmp eax, edx
setle cl
xor ebx, ebx
cmp ecx, 0xfffffffd
setl bl
mov eax, dword [ebp - 0xa9c]
imul ebx, eax
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ebx, eax
setge dl
mov eax, dword [ebp - 0xec]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x518]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x518]
call fcn.0040b9ac
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], 0x1c29
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x44], 0xaa2df500
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x24], eax
jle 0x40f4b6
mov dword [ebp - 0x30], 0xe55059b8
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
xor eax, eax
push 2
pop ebx
jmp 0x40f782
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x40], 0xe3ce
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x40f4e6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x40f4ce
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x40f505
push eax
push 0x2026
push 0xf92
push 0x1c20
call dword [0xad3068]
mov dword [ebp - 0x28], 0x238a
cmp dword [ebp - 0x28], 0x23d5
jle 0x40f55d
push 0xc95
call dword [0xad3410]
xor edi, edi
xor esi, esi
xor ebx, ebx
mov eax, esi
cdq
idiv ebx
mov eax, edi
sub eax, edx
cdq
push edx
push eax
mov ecx, 0xad0258
call fcn.0040b6b3
inc ebx
cmp ebx, 0x12b0
jl 0x40f526
inc esi
cmp esi, 0x7d49
jl 0x40f524
inc edi
cmp edi, 0x7fe7
jl 0x40f522
xor edi, edi
inc edi
push 3
pop esi
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x108], 0
jne 0x40f57b
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0x108], 0
je 0x40f57b
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ebx, 0xa10aa43b
cmp ebx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x50], eax
jne 0x40f5a5
mov eax, dword [ebp - 0x108]
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x40f66d
mov dword [ebp - 0x14], 0x57b6a69e
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x24], eax
jmp 0x40f5d2
mov dword [ebp - 0x30], 0x2ba8d7d2
cmp dword [ebp - 0x30], eax
jne 0x40f5d8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xf
je 0x40f5c3
mov dword [ebp - 0x24], eax
jmp 0x40f65c
mov dword [ebp - 0x34], 0xa30b9130
mov dword [ebp - 0x34], 0x1ad5b481
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 8
setle cl
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
xor ebx, ebx
cmp edx, eax
setle bl
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, ebx
setle al
cmp eax, 0x33ed8637
je 0x40f635
cmp dword [ebp - 0x20], 0
je 0x40f635
mov edx, edi
jmp 0x40f637
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x110]
add ecx, 0xa218
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xffffffff
setle al
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x24]
push 2
pop ebx
cmp dword [ebp - 0x24], ebx
jle 0x40f5dd
jmp 0x40f736
push edi
lea ecx, [ebp - 0x32c]
call fcn.0040b8da
mov dword [ebp - 0x48], 0x6b6a42da
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x40f6a4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x40f68a
xor eax, eax
mov dword [ebp - 0x20], 8
cmp dword [ebp - 0x20], eax
jne 0x40f6b7
cmp dword [ebp - 0x50], eax
mov ecx, eax
je 0x40f6b9
mov ecx, edi
mov eax, dword [ebp - 0x32c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x32c]
mov edx, dword [eax]
xor eax, eax
cmp edx, edi
sete al
xor ecx, ecx
cmp eax, edx
setl cl
imul ecx, dword [ebp - 0x108]
test ecx, ecx
jne 0x40f708
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x32c]
sub ecx, dword [eax]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x32c]
call fcn.0040b9ac
push 2
pop ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x2316
jge 0x40f751
mov edx, 0xab91b0
mov ecx, 0xad0258
call fcn.0040df38
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x40f782
mov dword [ebp - 0x30], 0x1938d10f
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x9c28ade1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x40f7c4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c8], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x40f7ac
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x40f7da
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x2c8], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x40f7c9
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], 0x9d1fe905
mov dword [ebp - 0x28], 0xfe6e324
mov dword [ebp - 0x40], 0xffffffff
push ebx
lea ecx, [ebp - 0x5e8]
call fcn.0040b8da
mov dword [ebp - 0x1c], 0
jmp 0x40f81b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5e8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f80c
mov dword [ebp - 0x1c], 0
jmp 0x40f836
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x994], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f829
cmp dword [ebp - 0x28], 0
jne 0x40f84e
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, edi
jmp 0x40f850
xor eax, eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x5e8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x994], ecx
lea ecx, [ebp - 0x5e8]
call fcn.0040b9ac
mov dword [ebp - 0x34], 0x6158f876
mov dword [ebp - 0x34], 0x4fe874d4
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xf085ffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xa4d2c64
push ebx
lea ecx, [ebp - 0xad4]
call fcn.0040b8da
mov dword [ebp - 0x28], 0xc86797b
mov dword [ebp - 0x1c], 0
jmp 0x40f8da
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x488]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f8ca
mov dword [ebp - 0x1c], 0
jmp 0x40f8fb
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xad4]
mov dword [eax + ecx*4], 0x3632cac2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40f8e8
mov dword [ebp - 0x38], 0
cmp dword [ebp - 0x38], edi
jg 0x40fb0d
mov dword [ebp - 0x4c], 0x868b
mov dword [ebp - 0x20], 0xced45b0e
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x44], 0xba
cmp dword [ebp - 0x44], 0x1ca
jle 0x40f9c1
and dword [ebp - 0x14], 0
and dword [ebp - 0x20], 0
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
xor ebx, ebx
mov eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x20]
mov ecx, edx
sar eax, cl
or eax, dword [ebp - 0x14]
cdq
push edx
push eax
lea ecx, [ebp - 0xf04]
call fcn.00401ab8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040b6a8
push eax
call fcn.004bdbc7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xf04]
call fcn.0040be88
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x2964
jl 0x40f94a
inc esi
cmp esi, 0x527c
jl 0x40f943
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x4db0
jl 0x40f941
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x1ebe
jl 0x40f93d
call dword [0xad340c]
push 3
pop esi
mov dword [ebp - 0x14], 7
mov dword [ebp - 4], 4
cmp dword [ebp - 0x44], 0xfffffdbe
jge 0x40f9e3
push 0xab922c
call fcn.004bdbc7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x40fa0d
mov dword [ebp - 0x30], 0xbfedaacd
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x44], 0xfffffff8
mov dword [ebp - 0x40], 0x177fd8b2
push esi
lea ecx, [ebp - 0xabc]
call fcn.0040b8da
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x14], 0
jmp 0x40fa54
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xabc]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x40fa41
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x488]
mov eax, dword [ebx + eax*4]
add eax, dword [ebx + ecx*4]
sub eax, dword [ebx + 4]
sub eax, 0x3fc4
jne 0x40fa7a
cmp dword [ebp - 0x4c], eax
je 0x40fa7c
mov eax, edi
mov esi, dword [ebp - 0x38]
xor edx, edx
cmp eax, dword [ebx + 4]
setg dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
mov eax, dword [ebp - 0x488]
cmp dword [eax + esi*4], ecx
setle dl
sub edx, dword [eax]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0
jmp 0x40faf2
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x40faef
push 0x4cc
call dword [0xad3074]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x40fada
lea ecx, [ebp - 0xabc]
call fcn.0040b9ac
inc dword [ebp - 0x38]
push 3
pop esi
jmp 0x40f907
lea ecx, [ebp - 0xad4]
call fcn.0040b9ac
lea ecx, [ebp - 0x488]
call fcn.0040b9ac
mov dword [ebp - 0x14], 0xdf99ff60
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0x485bf25c
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x14], 0
push 2
pop ebx
jmp 0x40fb5c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd48], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x40fb4b
mov dword [ebp - 0x14], 0
jmp 0x40fc2c
mov dword [ebp - 0x34], 0xb7161ab6
mov dword [ebp - 0x34], 0x1e4f1f13
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x34], 0xfffffffa
push 4
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 8
push eax
lea ecx, [ebp - 0x8cc]
call fcn.0040b8da
mov dword [ebp - 0x34], 0xdab9737e
mov dword [ebp - 0x34], 0x2395
mov dword [ebp - 0x34], 0x806aa1c3
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x34], 0x3f2f34e4
push ebx
lea ecx, [ebp - 0x950]
call fcn.0040b8da
mov dword [ebp - 0x1c], 0
jmp 0x40fbe9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8cc]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x40fbda
mov dword [ebp - 0x1c], 0
jmp 0x40fc0b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x950]
mov dword [eax + ecx*4], 0xbd3e018e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x40fbf8
inc dword [ebp - 0x40]
lea ecx, [ebp - 0x950]
call fcn.0040b9ac
lea ecx, [ebp - 0x8cc]
call fcn.0040b9ac
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
jge 0x40fb6d
push ebx
lea ecx, [ebp - 0x428]
call fcn.0040b8da
mov dword [ebp - 0x50], 0x905c8094
movdqa xmm0, xmmword [0xac4600]
movdqu xmmword [ebp - 0xbf4], xmm0
lea ecx, [ebp - 0xbf4]
lea eax, [ebp - 0xbe4]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xa80]
call fcn.0040b986
push edi
lea ecx, [ebp - 0x6f0]
call fcn.0040b8da
mov dword [ebp - 0x14], 0x99fb023e
mov dword [ebp - 0x14], 0
jmp 0x40fca2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6f0]
mov dword [eax + ecx*4], 0xe8e56f9b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x40fc8f
mov ecx, dword [ebp - 0x6f0]
and dword [ecx], 0
mov edx, dword [ebp - 0xa80]
mov eax, dword [ecx]
mov dword [edx + eax*4], 0x18d58162
inc dword [ecx]
cmp dword [ecx], 4
jl 0x40fcb6
mov dword [ebp - 0x14], 0xffffffe3
jmp 0x40fce2
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x40fcdf
call dword [0xad347c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
jge 0x40fccf
lea ecx, [ebp - 0x6f0]
call fcn.0040b9ac
lea ecx, [ebp - 0xa80]
call fcn.0040b9ac
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x40], 0x61a6b719
mov dword [ebp - 0x1c], 0xffffffe6
cmp dword [ebp - 0x1c], 0
jne 0x40fd8a
push ebx
lea ecx, [ebp - 0x8e4]
call fcn.0040b8da
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x40fd56
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8e4]
mov dword [eax + ecx*4], 0xe57a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x40fd3c
xor eax, eax
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
jl 0x40fd7a
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x40fd75
push eax
push 0x1d90
call dword [0xad3454]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x40fd5e
lea ecx, [ebp - 0x8e4]
call fcn.0040b9ac
inc dword [ebp - 0x1c]
je 0x40fd23
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
jne 0x40fda6
mov eax, dword [ebp - 0x1c]
sub eax, 0xb17d72b9
neg eax
sbb eax, eax
inc eax
cmp eax, edi
ja 0x40fda6
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
imul ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setge dl
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], 0xa9413e45
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x38], 0xb3a00d0e
mov dword [ebp - 0x28], 0x8d9a2b82
mov dword [ebp - 0x20], 0xf4dad240
mov dword [ebp - 0x4c], 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x40fe07
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], 0x7c2c9ebf
jg 0x40fe20
cmp dword [ebp - 0x1c], eax
je 0x40fe27
cmp dword [ebp - 0x1c], eax
je 0x40fe27
mov eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
sub eax, 0xa8df17d
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x40ff38
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x40], 0xd3d38e20
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x40fe70
push 0x182c
call dword [0xad3480]
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x18
jl 0x40ff35
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x35c], edi
mov dword [ebp - 0x358], edi
mov dword [ebp - 0x354], edi
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0xfff7
setne cl
xor eax, eax
cmp ecx, 0x507b
setge al
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setg dl
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
add eax, 0x1b460d54
add eax, edx
je 0x40fed2
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x360]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x40], 0xa762afed
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x18
jge 0x40fe7d
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x38
jne 0x40fe3f
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x35568345
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x410014
mov dword [ebp - 0x14], 0x7884
cmp dword [ebp - 0x14], 0x78bf
jle 0x40ffb2
mov esi, eax
mov dword [ebp - 0x20], eax
mov eax, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0x79a2
mov ebx, eax
mov esi, 0x630e
mov eax, ebx
cdq
push edx
push eax
mov ecx, 0xad0258
call fcn.0040b6b3
dec ebx
dec esi
jne 0x40ff84
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x44]
jne 0x40ff7d
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0xd2a
jl 0x40ff71
push 0x8ee
push 0x13ec
push 0x936
push 0x64b
call dword [0xad33ac]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x14], 0x7559
jge 0x40ffeb
mov edx, 0xab9288
mov ecx, 0xad0258
call fcn.0040df38
or dword [ebp - 4], 0xffffffff
jmp 0x410012
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x410031
push eax
push 0x23f1
push eax
push 0x135c
call dword [0xad3064]
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x54], 0x1938d10f
mov dword [ebp - 0x44], 0x1eac
cmp dword [ebp - 0x44], 0x2199
jle 0x41009f
mov esi, eax
jmp 0x410051
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x40], ecx
xor ebx, ebx
mov eax, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xdcc]
call fcn.00401ab8
pop ecx
pop ecx
mov ecx, eax
call fcn.0040b6a8
push eax
call fcn.004bdbc7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xdcc]
call fcn.0040be88
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 0x5394
jl 0x410058
inc esi
cmp esi, 0x2a79
jl 0x41004f
mov dword [ebp - 4], 8
cmp dword [ebp - 0x44], 0x1bcd
jge 0x4100ba
push 0xab92f0
call fcn.004bdbc7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4100e1
mov esi, 0xa10aa43b
mov dword [ebp - 0x1c], 0x869ec427
push 3
lea ecx, [ebp - 0x600]
call fcn.0040b8da
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x40], 0xb3f4b141
mov dword [ebp - 0x30], 0xd9532955
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 3
jge 0x410133
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x600]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x41011e
imul eax, dword [ebp - 0x1c], 0xfffe
test eax, eax
je 0x410169
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x600]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
sete dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp edx, eax
setg bl
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x39], 0
cmp byte [ebp - 0x39], 0
je 0x4101bd
push edi
push 0x11a6
push 0x2086
push 0x1432
call dword [0xad3458]
lea ecx, [ebp - 0x600]
call fcn.0040b9ac
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x1c], edi
jge 0x4101eb
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x384], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x4101d9
mov dword [ebp - 0x1c], 0
push 3
pop ebx
jmp 0x410204
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b0], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x4101f7
mov dword [ebp - 0x1b0], 0
jmp 0x410222
mov dword [ebp + eax*4 - 0x384], ebx
inc dword [ebp - 0x1b0]
cmp dword [ebp - 0x1b0], edi
mov eax, dword [ebp - 0x1b0]
jl 0x410215
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffe
push 4
lea ecx, [ebp - 0x4a0]
call fcn.0040b8da
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x50], 0
jmp 0x410279
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xdc], 2
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jl 0x410268
mov dword [ebp - 0x50], 0
jmp 0x410298
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xb90], 0x34215e1a
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jl 0x410287
mov dword [ebp - 0x50], 0
jmp 0x4102b9
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4a0]
mov dword [eax + ecx*4], 0x3826a056
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 4
jl 0x4102a6
mov dword [ebp - 0x50], 0
cmp dword [ebp - 0x50], ebx
jge 0x4102e0
xor ebx, ebx
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x7b0], ebx
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 3
jl 0x4102cd
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], 0
jne 0x410318
dec dword [ebp - 0x7ac]
mov eax, dword [ebp - 0x7ac]
mov ecx, dword [ebp - 0xdc]
imul ecx, eax
test ecx, ecx
jne 0x410318
cmp dword [ebp - 0x20], 0x35327163
jle 0x410318
mov eax, dword [ebp - 0x4a0]
xor ebx, ebx
cmp dword [eax + 4], ebx
je 0x41031a
mov ecx, edi
xor eax, eax
test ecx, ecx
setg al
imul eax, dword [ebp - 0xdc]
cmp eax, 0x2c7a2e42
jge 0x410339
cmp dword [ebp - 0x40], 0
je 0x410339
mov edx, edi
jmp 0x41033b
xor edx, edx
mov eax, dword [ebp - 0xb8c]
xor ecx, ecx
cmp eax, edx
setle cl
xor ebx, ebx
cmp ecx, 0xfffffffd
setl bl
mov eax, dword [ebp - 0xb88]
imul ebx, eax
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ebx, eax
setge dl
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x4a0]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x4a0]
call fcn.0040b9ac
mov dword [ebp - 0x34], 0x9d1fe905
mov dword [ebp - 0x24], 0x1c29
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x44], 0xaa2df500
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x24], eax
jle 0x4103c5
mov dword [ebp - 0x30], 0xe55059b8
mov dword [ebp - 0x40], edi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
jmp 0x4105eb
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x40], 0xe3ce
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x4103f7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4103de
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], bl
je 0x410415
push eax
push 0x2026
push 0xf92
push 0x1c20
call dword [0xad3068]
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x114], ebx
jne 0x410431
mov eax, dword [ebp - 0x114]
cmp dword [ebp - 0x114], ebx
je 0x410431
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
cmp esi, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x50], eax
jne 0x410456
mov eax, dword [ebp - 0x114]
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x410525
mov dword [ebp - 0x14], 0x57b6a69e
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x24], eax
jmp 0x410483
cmp dword [ebp - 0x24], 0xf
je 0x410474
push edi
lea ecx, [ebp - 0x290]
call fcn.0040b8da
mov dword [ebp - 0x48], 0x6b6a42da
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x41055c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x290]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x410542
mov dword [ebp - 0x20], 8
cmp dword [ebp - 0x20], eax
jne 0x41056f
push 2
pop esi
xor eax, eax
mov dword [ebp - 0x34], 0x6158f876
mov dword [ebp - 0x34], 0x4fe874d4
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x9c28ade1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x41062f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x330], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x410617
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x410645
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x330], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x410634
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], 0xf085ffff
mov dword [ebp - 0x28], 0xfe6e324
mov dword [ebp - 0x40], 0xffffffff
push esi
lea ecx, [ebp - 0x618]
call fcn.0040b8da
mov dword [ebp - 0x1c], 0
jmp 0x410686
cmp dword [ebp - 0x1c], esi
jl 0x410677