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

Disassembly:
mov eax, 0x4a60a4
call fcn.004a5ab8
sub esp, 0x3b8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], edx
mov eax, ecx
mov dword [ebp - 0x38], eax
xor ebx, ebx
cmp dword [eax + 0x10], ebx
jne 0x421109
xor al, al
jmp 0x423603
mov dword [ebp - 0x14], 0xffffffff
push 4
lea ecx, [ebp - 0x110]
call fcn.0041b63b
mov dword [ebp - 0x3c], 0x997736e
mov dword [ebp - 0x28], 0xffffffff
movdqa xmm0, xmmword [0xaa7750]
movdqu xmmword [ebp - 0x20c], xmm0
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
push dword [ebp - 0x54]
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x20c]
push eax
push ebx
lea ecx, [ebp - 0x128]
call fcn.0041d475
mov dword [ebp - 0x20], ebx
jmp 0x421182
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x638e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x42116f
mov dword [ebp - 0x14], 5
cmp dword [ebp - 0x14], 0xe
jge 0x4212df
push 3
pop ecx
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ecx
jge 0x4211c4
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], 0xaed23b61
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x4211ae
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x78], ebx
jl 0x42126f
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jl 0x421263
mov dword [ebp - 0x2c], 0x6c516535
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jl 0x421247
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jg 0x421242
mov dword [ebp - 0x20], 0x9f4981ff
mov dword [ebp - 0x20], ebx
jmp 0x42121a
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x3c4], 0x4ef66b17
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x421209
mov dword [ebp - 0x20], ebx
jmp 0x421232
mov dword [ebp - 0x3c], 0xc587
inc dword [ebp - 0x3c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x421225
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x4211fd
push 0xfffffffffffffff8
pop eax
dec dword [ebp - 0x2c]
jns 0x4211f2
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x110]
cmp dword [eax + ecx*4], ebx
jne 0x421260
dec dword [ebp - 0x24]
push 3
pop ecx
push 0xfffffffffffffff8
pop eax
jns 0x4211e3
push 3
pop ecx
dec dword [ebp - 0x78]
push 0xfffffffffffffff8
pop eax
jns 0x4211d0
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x4212cf
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
xor ecx, ecx
cmp dword [esi + 4], 0xe3bf
setle cl
mov eax, dword [ebp - 0x28]
imul eax, ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x4212c7
push ebx
push 0x123f
call dword [0xab62c8]
dec dword [ebp - 0x18]
jns 0x42127d
push 3
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
push 0xfffffffffffffff8
pop eax
jl 0x42119f
lea ecx, [ebp - 0x128]
call fcn.0041b70d
lea ecx, [ebp - 0x110]
call fcn.0041b70d
mov dword [ebp - 0x14], 0x8a87013d
push 4
lea ecx, [ebp - 0x13c]
call fcn.0041b63b
xor edi, edi
inc edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], ebx
jmp 0x421327
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0x4f88039d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x421314
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x42134f
push 0x260b
push 0x260e
push 0x9df
push 0x5a0
call dword [0xab6418]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setns cl
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
imul edx, dword [esi + 8]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, ecx
setne dl
mov eax, dword [ebp - 0x14]
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x13c]
call fcn.0041b70d
mov dword [ebp - 0x2c], 0x33a4
mov dword [ebp - 0x14], 0xe0648261
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x20], 0x45ccb972
mov dword [ebp - 0x18], 0x7113
cmp dword [ebp - 0x18], 0x737c
jle 0x421416
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x24]
add eax, esi
add eax, ebx
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x3235
jl 0x4213dd
inc esi
cmp esi, 0x6431
push 0
pop ebx
jl 0x4213d5
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7ace
jl 0x4213d3
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x6f2e
jge 0x42143a
push 0xa9d118
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421463
mov dword [ebp - 0x34], 0xc97
cmp dword [ebp - 0x34], 0xedb
jle 0x4214eb
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], ebx
and eax, esi
xor eax, ecx
xor eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4214a2
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x2d0]
call fcn.0040144e
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x4cf4
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
jl 0x421484
inc esi
cmp esi, 0x5419
jl 0x42147f
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x140e
jl 0x42147d
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x7a13
jl 0x421478
mov dword [ebp - 0x14], 0xffffffeb
jmp 0x42150e
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x24], 0x5db34e6d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffa
jg 0x4214f4
mov dword [ebp - 4], 2
cmp dword [ebp - 0x34], 0xa4c
jge 0x42152f
push 0xa9d198
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421555
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x14], 0xfffffffd
ja 0x42157b
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0xff12
cmp dword [ebp - 0x14], ebx
mov eax, ebx
je 0x42157d
mov eax, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], 0x324ec2e0
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], 0x3922cbd4
mov dword [ebp - 0x14], 0xffffffe9
jmp 0x42160d
mov dword [ebp - 0x18], 0x6d0374c7
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x28], 0xda2a0c0e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x4215db
cmp dword [ebp - 0x14], ebx
jne 0x4215db
cmp dword [ebp - 0x24], ebx
mov edx, ebx
je 0x4215dd
mov edx, ecx
neg edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setne cl
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
cmp ecx, 0xffff
setne dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x14]
push 1
pop ecx
cmp dword [ebp - 0x14], 0xfffffff3
jge 0x42159d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0xd40a7fb
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0x925b0e44
mov dword [ebp - 0x34], 0x77d1
xor esi, esi
inc esi
cmp dword [ebp - 0x34], 0x7998
jle 0x4216b9
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
xor eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x360]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42168e
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x360]
call fcn.0040144e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0xa64
jl 0x421674
inc edi
cmp edi, 0x6298
jl 0x42166f
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x34], 0x743f
jge 0x4216d7
push 0xa9d1f0
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421700
mov dword [ebp - 0x28], 0xc13fe662
mov dword [ebp - 0x18], ebx
jmp 0x42171d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x384], 0xd4f2887c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x42170c
inc dword [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], 0xbd0
cmp dword [ebp - 0x18], 0xe85
jle 0x42179b
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], ebx
mov ecx, edi
sar eax, cl
mov dword [ebp - 0x34], eax
mov edi, ebx
mov ebx, dword [ebp - 0x28]
or eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc edi
cmp edi, 0x216e
mov eax, dword [ebp - 0x34]
jl 0x421752
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, 0x4d98
push 0
pop ebx
jl 0x42174d
mov edi, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x443d
mov eax, dword [ebp - 0x24]
jl 0x421743
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7d13
jl 0x42173e
mov dword [ebp - 4], 6
cmp dword [ebp - 0x18], 0xb48
jge 0x4217bc
push 0xa9d244
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4217e5
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x34], 0x4e98
cmp dword [ebp - 0x34], 0x50f4
jle 0x42185a
push ebx
push 0x1146
push 0x2300
push 0x18f0
call dword [0xab60b8]
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
or eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x300]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42182f
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x300]
call fcn.0040144e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x493f
jl 0x421815
inc edi
cmp edi, 0x628
jl 0x421810
mov dword [ebp - 0x24], 0x26af
mov dword [ebp - 4], 8
cmp dword [ebp - 0x34], 0x4c1f
jge 0x42187c
push 0xa9d2a0
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4218a5
mov dword [ebp - 0x20], 0xf23d37f4
mov dword [ebp - 0x18], ebx
jmp 0x4218bf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xa4c5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4218b1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
mov eax, esi
jne 0x4218d6
mov eax, ebx
add eax, 0xf381
mov dword [ebp - 0x5c], eax
cmp eax, 0x9904
jle 0x4218ea
cmp dword [ebp - 0x14], ebx
je 0x4218ed
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp eax, 0xfffffffd
setne cl
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], ebx
jmp 0x421965
movdqa xmm0, xmmword [0xaa7760]
movdqu xmmword [ebp - 0x21c], xmm0
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
push dword [ebp - 0x54]
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x21c]
push eax
push ebx
lea ecx, [ebp - 0xd0]
call fcn.0041d475
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0xd0]
call fcn.0041b70d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x18
jle 0x42190c
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x30], 0x4bc662a2
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x40], 0xfc3938dd
push 3
lea ecx, [ebp - 0x1cc]
call fcn.0041b63b
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x3c], 0x24d4
cmp dword [ebp - 0x3c], 0x266f
jle 0x421a11
mov dword [ebp - 0x34], ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x5e8b
mov edi, ebx
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x288]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4219d8
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x288]
call fcn.0040144e
inc edi
cmp edi, 0x5537
mov eax, dword [ebp - 0x24]
jl 0x4219bc
mov edi, dword [ebp - 0x34]
add eax, edi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x28]
jne 0x4219ba
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x71bd
jl 0x4219ae
mov dword [ebp - 0x14], ebx
jmp 0x421a29
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1cc]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421a16
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x3c], 0x23bd
jge 0x421a4a
push 0xa9d2f8
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421a73
push 0xfffffffffffffff8
pop edi
mov dword [ebp - 0x14], ebx
jmp 0x421a8c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x184], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421a7b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x17c]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
add ecx, 2
imul ecx, eax
test ecx, ecx
jne 0x421abf
cmp dword [ebp - 0x40], ebx
mov ecx, ebx
je 0x421ac1
mov ecx, esi
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x1cc]
call fcn.0041b70d
mov dword [ebp - 0x30], edi
push 4
lea ecx, [ebp - 0x19c]
call fcn.0041b63b
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x14], ebx
jmp 0x421b09
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0x68ec0ae9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x421afb
mov dword [ebp - 0x28], 0x4e3b
cmp dword [ebp - 0x28], 0x4f9e
jle 0x421b89
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
add eax, edi
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x330]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x421b47
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x330]
call fcn.0040144e
inc edi
cmp edi, 0x2987
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
jl 0x421b2b
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x3332
jl 0x421b29
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x5614
jl 0x421b24
push ebx
push ebx
call dword [0xab6008]
mov dword [ebp - 0x14], ebx
jmp 0x421ba1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0xce57
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x421b8e
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x28], 0x4db0
jge 0x421bc2
push 0xa9d360
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421beb
mov dword [ebp - 0x68], 0xfffffff7
cmp dword [ebp - 0x68], 0xfffffff4
jl 0x421df6
mov dword [ebp - 0x14], 0xe5c7a00f
push 4
lea ecx, [ebp - 0x104]
call fcn.0041b63b
push 3
lea ecx, [ebp - 0xec]
call fcn.0041b63b
mov dword [ebp - 0x14], ebx
jmp 0x421c35
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x421c22
mov dword [ebp - 0x14], ebx
jmp 0x421c53
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x421c40
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x421ddb
push 3
lea ecx, [ebp - 0x16c]
call fcn.0041b63b
mov dword [ebp - 0x34], 0x18a
cmp dword [ebp - 0x34], 0x4e8
jle 0x421d12
push ebx
call dword [0xab62a8]
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov edx, ebx
mov dword [ebp - 0x28], edx
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x30], eax
mov ecx, edx
sar eax, cl
xor eax, dword [ebp - 0x18]
cdq
push edx
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x421cc6
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2a0]
call fcn.0040144e
mov edx, dword [ebp - 0x28]
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x5346
mov eax, dword [ebp - 0x30]
jl 0x421ca7
inc edi
cmp edi, 0x75d8
mov eax, dword [ebp - 0x24]
jl 0x421c9b
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x75b2
jl 0x421c99
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x72e1
jl 0x421c94
mov dword [ebp - 0x18], ebx
jmp 0x421d26
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x421d17
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x34], 0xfffffeae
jge 0x421d47
push 0xa9d3e0
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x421d70
mov edi, dword [ebp - 0x104]
xor eax, eax
cmp dword [edi + 0xc], 0xafa0
setl al
cmp eax, 0xfffffffc
jne 0x421d8a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x19c]
cmp dword [eax + ecx*4], 0x7d0fa516
setge dl
sub edx, 0xf2d6273
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xec]
mov dword [eax + 8], esi
xor ecx, ecx
cmp dword [edi + 0xc], esi
setne cl
mov eax, dword [ebp - 0x16c]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x16c]
call fcn.0041b70d
dec dword [ebp - 0x14]
jmp 0x421c60
lea ecx, [ebp - 0xec]
cmp dword [ebp - 0x68], ebx
je 0x421e16
call fcn.0041b70d
lea ecx, [ebp - 0x104]
call fcn.0041b70d
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x421e06
push ebx
call dword [0xab62c0]
lea ecx, [ebp - 0x19c]
call fcn.0041b70d
mov dword [ebp - 0x18], ebx
jmp 0x421e3f
call fcn.0041b70d
lea ecx, [ebp - 0x104]
call fcn.0041b70d
dec dword [ebp - 0x68]
jmp 0x421bf2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x238], 0xa5dec4f3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x421e2e
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0xfffffff7
mov edi, 0xd76270e7
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], 0x3e91cb64
mov dword [ebp - 0x18], ebx
jmp 0x421e74
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x94], 0x1d99ea5d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x421e63
cmp dword [ebp - 0x20], ebx
je 0x421e94
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
mov edx, esi
jl 0x421e96
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setne dl
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0xabf7c2f5
setne al
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x94], eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ebx
je 0x422eba
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], 0x3e91cb64
mov dword [ebp - 0x18], ebx
jmp 0x421f0c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 0x1d99ea5d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x421efb
cmp dword [ebp - 0x20], ebx
je 0x421f2c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
mov edx, esi
jl 0x421f2e
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setne dl
imul edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp dword [ebp - 0x30], eax
setle dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xabf7c2f5
setne al
add eax, dword [ebp - 0x14]
mov dword [ebp - 0xd4], eax
dec dword [ebp - 0x34]
mov dword [ebp - 0x28], 0x476f
cmp dword [ebp - 0x28], 0x4a63
jle 0x421ffd
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
add eax, ecx
xor eax, edi
xor eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x421fb4
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2b8]
call fcn.0040144e
inc edi
cmp edi, 0x23e8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
jl 0x421f96
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2ab7
jl 0x421f94
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x17c4
jl 0x421f8f
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x1b03
jl 0x421f8a
push esi
lea ecx, [ebp - 0x1b4]
call fcn.0041b63b
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x28], 0x45b4
jge 0x422024
push 0xa9d43c
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42204d
push 0xfffffffffffffff8
pop edi
mov dword [ebp - 0x30], 0xb76d6092
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], 0x4539
cmp dword [ebp - 0x34], 0x4792
jle 0x4220c6
push ebx
call dword [0xab6268]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
cdq
idiv edi
mov ebx, edx
mov edi, dword [ebp - 0x30]
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc edi
cmp edi, 0x5951
jl 0x422086
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x73f5
push 0
pop ebx
mov eax, dword [ebp - 0x2c]
jl 0x42207b
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x1783
jl 0x422076
call dword [0xab6270]
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x34], 0x437e
jge 0x4220ea
push 0xa9d4b8
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x422113
push esi
lea ecx, [ebp - 0x160]
call fcn.0041b63b
mov dword [ebp - 0x30], 0xeda8ed40
mov dword [ebp - 0x14], ebx
xor edx, edx
inc edx
jmp 0x422138
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42212e
mov dword [ebp - 0x14], ebx
jmp 0x42214f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x270], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x422142
mov dword [ebp - 0x14], ebx
jmp 0x42216d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0xfffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42215a
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x4222bb
push edx
lea ecx, [ebp - 0xe0]
call fcn.0041b63b
mov dword [ebp - 0x28], 0x451f
cmp dword [ebp - 0x28], 0x45c0
jle 0x42220c
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov esi, ebx
add eax, edi
mov ecx, esi
sar eax, cl
and eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4221c8
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2e8]
call fcn.0040144e
inc esi
cmp esi, 0x25bb
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
jl 0x4221a8
inc edi
cmp edi, 0x3087
jl 0x4221a6
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5245
jl 0x4221a4
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x1764
jl 0x42219f
mov dword [ebp - 0x18], ebx
xor edx, edx
inc edx
jmp 0x422227
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x17f75960
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x422214
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x28], 0x431f
jge 0x422247
push 0xa9d508
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42226d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], ecx
mov eax, dword [ebp - 0xe0]
mov dword [eax], ebx
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x58], ebx
jne 0x4222a5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x42229b
push ebx
call dword [0xab60ec]
mov eax, dword [ebp - 0xe0]
dec dword [eax]
jns 0x422283
lea ecx, [ebp - 0xe0]
call fcn.0041b70d
dec dword [ebp - 0x14]
xor edx, edx
inc edx
jmp 0x422175
mov dword [ebp - 0x14], 0x1c
xor esi, esi
inc esi
cmp dword [ebp - 0x14], 0x18
jge 0x4223e3
mov dword [ebp - 0x20], 0xbf90a233
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0x7b56
cmp dword [ebp - 0x28], 0x7cf5
jle 0x42233c
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x318]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x422311
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x318]
call fcn.0040144e
inc edi
cmp edi, 0x13e8
mov eax, dword [ebp - 0x2c]
jl 0x4222f4
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x2137
jl 0x4222f2
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x422397
push 2
lea ecx, [ebp - 0x148]
call fcn.0041b63b
mov dword [ebp - 0x18], ebx
jmp 0x422369
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x15d0d658
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x422356
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x148]
cmp dword [ebp + eax*4 - 0x58], ebx
jne 0x422392
mov eax, dword [ebp - 0x160]
inc dword [eax]
call fcn.0041b70d
dec dword [ebp - 0x20]
jns 0x422344
jmp 0x422397
call fcn.0041b70d
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x28], 0x795e
jge 0x4223b2
push 0xa9d57c
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4223db
dec dword [ebp - 0x14]
jmp 0x4222c5
lea ecx, [ebp - 0x160]
call fcn.0041b70d
mov dword [ebp - 0x30], 0x459eeda5
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x28], 0xf9c71042
mov dword [ebp - 0x30], 0x592c6eed
mov dword [ebp - 0x18], ebx
jmp 0x422420
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0x9ac78948
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x42240f
mov dword [ebp - 0x14], ebx
jmp 0x4224c1
push 2
lea ecx, [ebp - 0x11c]
call fcn.0041b63b
mov dword [ebp - 0x30], 0xa50b5f0b
mov dword [ebp - 0x18], ebx
jmp 0x422456
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x422447
mov edi, dword [ebp - 0x11c]
mov dword [edi + 4], esi
mov dword [ebp - 0x18], ebx
jmp 0x422478
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x80], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x42246a
mov dword [ebp - 0x7c], esi
cmp dword [ebp - 0x7c], ebx
jl 0x4224a2
mov dword [ebp - 0x30], 0x9a695768
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x42249d
push ebx
call dword [0xab6214]
dec dword [ebp - 0x7c]
jns 0x422486
dec dword [edi + 4]
jns 0x422465
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x11c]
cmp dword [ebp + eax*4 - 0x130], ebx
jne 0x4224cc
call fcn.0041b70d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x42242e
jmp 0x4224d1
call fcn.0041b70d
mov dword [ebp - 0x14], 0x8ae5
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
push 2
lea ecx, [ebp - 0xb8]
call fcn.0041b63b
mov dword [ebp - 0x3c], 0x3832
cmp dword [ebp - 0x3c], 0x3bd7
jle 0x422566
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x30], edi
mov ecx, esi
shl edi, cl
mov esi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc esi
cmp esi, 0x1886
jl 0x42251d
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x5cff
mov edi, dword [ebp - 0x34]
jl 0x422511
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x53fe
jl 0x42250c
push ebx
push 0x1df6
push 0x1455
call dword [0xab63a8]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x3c], 0x36f8
jge 0x42258a
push 0xa9d5d8
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4225b0
xor edx, edx
push 0xfffffffffffffff8
inc edx
pop esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 0xffff
mov dword [ebp - 0x14], ebx
jmp 0x4225d8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4225c5
mov dword [ebp - 0x14], ebx
jmp 0x4225f4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1e0], 0x765e4bc7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x4225e3
mov dword [ebp - 0x14], ebx
jmp 0x4226c7
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
cmp dword [eax + ecx*4], ebx
je 0x4226bc
cmp dword [ebp - 0x14], ebx
je 0x42267a
cmp dword [ebp - 0x28], ebx
ja 0x422624
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setne dl
mov esi, dword [ebp - 0xb8]
sub edx, dword [esi + edi*4]
xor eax, eax
cmp edx, dword [esi]
setne al
xor ecx, ecx
mov edx, dword [ebp - 0x40]
cmp eax, dword [esi + edx*4]
setl cl
xor eax, eax
cmp ecx, 0xfffffff9
setne al
xor edx, edx
inc edx
cmp edx, eax
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov eax, 0xe401d933
cmp eax, ecx
sbb eax, eax
inc eax
jns 0x42267c
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + eax*4]
imul eax, edx
xor ecx, ecx
cmp eax, 0xb607800f
setne cl
xor edx, edx
cmp ecx, 0xd32d
setl dl
imul edx, dword [esi + edi*4]
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x14]
imul eax, edx
xor edx, edx
inc edx
test eax, eax
mov eax, edx
jne 0x4226be
mov eax, ebx
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x14]
push 0xfffffffffffffff8
pop esi
cmp dword [ebp - 0x14], edx
jle 0x422602
lea ecx, [ebp - 0xb8]
call fcn.0041b70d
mov dword [ebp - 0x18], ebx
xor esi, esi
inc esi
jmp 0x4226f6
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 0x6aab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x4226e3
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 4
jge 0x422721
push 0xfffffffffffffff8
pop edi
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x248], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x42270e
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0x1b
jl 0x422837
mov dword [ebp - 0x3c], 0x6a5b
cmp dword [ebp - 0x3c], 0x6dc8
jle 0x4227b0
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], 0x2f48
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x348]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42276b
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x348]
call fcn.0040144e
mov ecx, dword [ebp - 0x28]
add ecx, edi
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
jne 0x422751
inc edi
cmp edi, 0x5313
jl 0x422745
mov dword [ebp - 0x20], 0x1bd97a8
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x3c], 0x69e2
jge 0x4227d2
push 0xa9d668
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4227fb
mov dword [ebp - 0x20], ebx
jmp 0x422811
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jg 0x422e9c
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x24], 0xa927213e
movdqa xmm0, xmmword [0xaa7710]
movdqu xmmword [ebp - 0x1fc], xmm0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
push dword [ebp - 0x54]
lea eax, [ebp - 0x1ec]
push eax
lea eax, [ebp - 0x1fc]
push eax
push ebx
lea ecx, [ebp - 0xa0]
call fcn.0041d475
mov dword [ebp - 0x34], 0x511d
cmp dword [ebp - 0x34], 0x546c
jle 0x4228ce
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], 0x6b09
mov eax, ebx
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
add ebx, edi
dec dword [ebp - 0x28]
jne 0x4228ac
inc edi
cmp edi, 0x66a7
push 0
pop ebx
jl 0x4228a2
mov dword [ebp - 0x14], 0x17
cmp dword [ebp - 0x14], 0x13
jle 0x4229bc
push 0xfffffffffffffff8
pop edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], ebx
jmp 0x4228fb
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x34], 0x4e8d
jge 0x4229dd
lea ecx, [ebp - 0x1b4]
call fcn.0041b70d
jmp 0x422ec5
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x238], 0xc3825062
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x422ea9
call fcn.0041f751
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x2c], 5
push 3
lea ecx, [ebp - 0xac]
call fcn.0041b63b
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2c], ebx
jmp 0x422f02
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x3843046b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x422eef
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xac]
mov dword [edx + 8], eax
cmp dword [edx], ebx
jne 0x422f4a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
neg eax
cmp dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0xac]
mov edi, ebx
jne 0x422f4c
mov edi, esi
mov edx, dword [edx]
mov eax, dword [ebp - 0x14]
sub edi, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edi, eax
setl cl
xor eax, eax
cmp ecx, edx
setg al
xor ecx, ecx
cmp eax, 0x9bc0
setne cl
xor eax, eax
cmp ecx, edx
setge al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xbd10
setl cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xac]
call fcn.0041b70d
mov eax, dword [ebp - 0x60]
mov dword [eax], ebx
mov dword [ebp - 0x3c], 0x33dd
cmp dword [ebp - 0x3c], 0x36c9
jle 0x42303b
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
cdq
idiv edi
mov eax, edx
mov dword [ebp - 0x40], eax
mov edi, ebx
mov edx, eax
shl edx, cl
mov dword [ebp - 0x30], edx
mov eax, edi
and eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x3b4]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x422fe8
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x3b4]
call fcn.0040144e
inc edi
cmp edi, 0x7a4
mov edx, dword [ebp - 0x30]
jl 0x422fcc
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x4ca3
mov eax, dword [ebp - 0x40]
jl 0x422fc3
mov edi, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x39c
mov eax, dword [ebp - 0x2c]
jl 0x422fb6
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4ad5
jl 0x422fb1
mov dword [ebp - 0x2c], 0xac204e2d
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x3c], 0x33b8
jge 0x42305d
push 0xa9d7a8
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x423086
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x1220985a
mov dword [ebp - 0x2c], ebx
jmp 0x4230b0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x28], 0x8ee41b66
inc dword [ebp - 0x28]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff7
jl 0x423095
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x4230ca
push 0x1940
call dword [0xab60fc]
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x14], 0x10
jb 0x4230d7
mov ecx, dword [eax]
jmp 0x4230d9
mov ecx, eax
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x14], 0x10
jb 0x4230e9
mov edx, dword [eax]
jmp 0x4230eb
mov edx, eax
mov eax, dword [eax + 0x10]
add eax, edx
cmp ecx, eax
je 0x423514
mov dword [ebp - 0x34], 0x743b
cmp dword [ebp - 0x34], 0x75f9
jle 0x423160
push ebx
push ebx
call dword [0xab63d0]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
mov ebx, eax
mov ecx, edi
sar ebx, cl
mov edi, dword [ebp - 0x30]
mov eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc edi
cmp edi, 0x2f3
jl 0x423126
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x44ff
push 0
pop ebx
mov eax, dword [ebp - 0x2c]
jl 0x42311a
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3037
jl 0x423115
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x34], 0x71a2
jge 0x423181
push 0xa9d818
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4231aa
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x34], 0x281d21f1
mov dword [ebp - 0x2c], 0x8ed4a55f
push esi
lea ecx, [ebp - 0x154]
call fcn.0041b63b
mov dword [ebp - 0x44], ebx
jmp 0x4231de
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x6c], 0xd26ec17e
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
jl 0x4231d0
lea edx, [ebp - 0x154]
lea ecx, [ebp - 0x44]
call fcn.0041fddd
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x34], 0xffff
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x6c]
je 0x423218
mov dword [ebp - 0x6c], 0xb779c63c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, esi
setg cl
sub ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x154]
mov dword [eax], ecx
lea ecx, [ebp - 0x154]
call fcn.0041b70d
mov eax, dword [ebp - 0x50]
mov al, byte [eax]
cmp al, 0x30
jl 0x423312
cmp al, 0x39
jg 0x423312
mov dword [ebp - 0x2c], 0x164b
cmp dword [ebp - 0x2c], 0x19a4
jle 0x4232b4
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], 0x3014
mov edi, ebx
mov ebx, dword [ebp - 0x28]
mov eax, ebx
or eax, edi
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc edi
cmp edi, 0x7a2b
jl 0x42327f
dec ebx
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0x34]
push 0
pop ebx
jne 0x42327a
mov edi, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x38eb
jl 0x423270
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x60]
call fcn.0041ffc7
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x2c], 0x157f
jge 0x4232e0
push 0xa9d868
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x423309
mov ecx, dword [ebp - 0x50]
inc ecx
jmp 0x4230d9
lea eax, [ebp - 0x60]
push eax
push 0x6cb8
push ebx
push 0x1824
call fcn.0042882f
add esp, 0x10
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x3c], 0x39a3
cmp dword [ebp - 0x3c], 0x3b68
jle 0x4233b0
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
mov eax, edi
mov ecx, esi
sar eax, cl
mov dword [ebp - 0x40], eax
mov esi, ebx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x39c]
call fcn.00401e2f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42336e
mov eax, dword [eax]
push eax
call fcn.0048ee0a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x39c]
call fcn.0040144e
inc esi
cmp esi, 0x6a3d
mov eax, dword [ebp - 0x40]
jl 0x423354
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x4750
mov edi, dword [ebp - 0x34]
jl 0x423346
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x6033
jl 0x423341
xor esi, esi
inc esi
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x3c], 0x3847
jge 0x4233cb
push 0xa9d8f0
call fcn.0048ee0a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4233f4
push 3
pop edi
mov dword [ebp - 0x38], ebx
jmp 0x423409
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x268], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x4233fc
call fcn.00420292
mov dword [ebp - 0x2c], 0xfffffffb
jmp 0x423505
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], ebx
jmp 0x4234f8
mov dword [ebp - 0x30], 0x5d732ada
mov dword [ebp - 0x38], ebx
jmp 0x423448
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc4], 0x78f3c34e
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x423437
mov dword [ebp - 0xc0], edi
cmp dword [ebp - 0xc0], ebx
jl 0x4234f5
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x30], 0x48aab564
lea ecx, [ebp - 0x48]
call fcn.004209d8
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x48], ebx
jl 0x4234e9
mov dword [ebp - 0x38], ebx
jmp 0x423490
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x4c], 0xda7ef5d8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x423482
mov dword [ebp - 0x4c], edi
cmp dword [ebp - 0x4c], ebx
jl 0x4234df
mov dword [ebp - 0x38], 0xf1a969ac
mov dword [ebp - 0x38], ebx
jmp 0x4234d5
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + eax*4 - 0x268]
mov eax, dword [ebp - 0xc0]
push 0xfffffffffffffff8
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x4234a9
dec dword [ebp - 0x4c]
jns 0x42349d
cmp dword [ebp - 0x20], ebx
jne 0x4234e9
dec dword [ebp - 0x48]
jns 0x42347d
dec dword [ebp - 0xc0]
jns 0x42345f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xc
jl 0x42342b
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff0
jl 0x423420
jmp 0x421102
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x38], ebx
jmp 0x423531
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x228], 0xfffffffb
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x423520
mov dword [ebp - 0x20], ebx
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x20], 0x12
jge 0x423601
mov dword [ebp - 0x28], 0x3cfd
cmp dword [ebp - 0x28], 0x3d44
jle 0x42358c
push ebx
push 0x3eb
push ebx
push ebx
call dword [0xab62a0]
mov esi, ebx
mov edi, ebx
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xab36e8
call fcn.0041b4f7
inc edi
cmp edi, 0x7d7d
jl 0x423569
inc esi
cmp esi, 0x36e8
jl 0x423567
mov dword [ebp - 0x38], 0x9b546158
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x28], 0x3b45
jge 0x4235b4
push 0xa9d950
push 0xab36e8
call fcn.0041cf47
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4235da
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x20], ebx
jne 0x423601
mov dword [ebp - 0x38], ecx
jmp 0x4235f3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x228], eax
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff0
jne 0x4235e7
inc dword [ebp - 0x20]
jmp 0x42353d
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret