Function at 0x42e05d
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x4bfbeb
call fcn.004bf4b8
sub esp, 0xef8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x7c], dl
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], 0xffffffff
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], ebx
movdqa xmm0, xmmword [0xac2b50]
movdqu xmmword [ebp - 0x978], xmm0
lea ecx, [ebp - 0x978]
lea eax, [ebp - 0x968]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x820]
call fcn.0040a21c
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], 0xee76373a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x820]
xor eax, eax
cmp dword [esi + 8], ebx
setg al
xor ecx, ecx
cmp eax, dword [esi + 8]
sete cl
add ecx, 0x5c96dd1e
je 0x42e11d
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x42e174
push 0
push 0xdd7
push 0
push 0xbf
call dword [0xad3450]
jmp 0x42e174
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x42e13a
cmp byte [ebp - 0x15], 0
je 0x42e137
push 0x707
call dword [0xad345c]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
mov byte [ebp - 0x15], al
jle 0x42e124
cmp byte [ebp - 0x15], 0
je 0x42e174
push 0x1c59
push eax
push 0x17ef
push 0xc6
push 0x9ac
push eax
push 0x8c5
push 0x715
push 0x331
call dword [0xad3458]
mov dword [ebp - 0x14], 0xfffffffa
jmp 0x42e1ab
mov dword [ebp - 0x1c], 0
jmp 0x42e197
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x330], 0x161e33ec
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x42e186
mov eax, dword [esi + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x330]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1a
jg 0x42e17d
lea ecx, [ebp - 0x820]
call fcn.0040a242
mov dword [ebp - 0x720], 0xa5d6c05b
mov dword [ebp - 0x71c], 0xa5d6c05b
mov dword [ebp - 0x718], 0xa5d6c05b
mov dword [ebp - 0x714], 0xa5d6c05b
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0xca8c98aa
mov dword [ebp - 0x4c], 0x58fc5674
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 7
push ebx
lea ecx, [ebp - 0x2b4]
call fcn.0040a170
mov dword [ebp - 0x28], 0xb10079d6
mov dword [ebp - 0x14], 0
jmp 0x42e23e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb0], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42e22d
mov dword [ebp - 0x14], 0
jmp 0x42e25f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2b4]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42e24c
mov dword [ebp - 0xb0], 0
cmp dword [ebp - 0xb0], 3
jg 0x42e420
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x1c], 0
jmp 0x42e29c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e8], 0xc4c8d3c8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42e28b
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x1e4], 3
jg 0x42e415
mov dword [ebp - 0x3c], 0xf90ef307
mov dword [ebp - 0x34], 0x963ab194
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xa9b27fa3
mov dword [ebp - 0x38], 0xefa1e1c5
mov dword [ebp - 0x3c], 0x35f1
cmp dword [ebp - 0x3c], 0x3665
jle 0x42e340
push 0x223f
call dword [0xad33c4]
xor ebx, ebx
xor edi, edi
xor esi, esi
mov eax, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0x3c97
xor eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x1c]
jne 0x42e305
inc esi
cmp esi, 0xc43
jl 0x42e2f9
inc edi
cmp edi, 0x4f7a
jl 0x42e2f7
inc ebx
cmp ebx, 0x7604
jl 0x42e2f5
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], 0xa7b5cf1c
and dword [ebp - 4], 0
cmp dword [ebp - 0x3c], 0x3555
jge 0x42e363
mov edx, 0xab723c
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42e38e
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], 0x1046
mov dword [ebp - 0x3c], 3
cmp dword [ebp - 0x3c], eax
jl 0x42e40a
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x38], 0x39ee491b
push 2
lea ecx, [ebp - 0x838]
call fcn.0040a170
mov dword [ebp - 0x1c], 0
jmp 0x42e3d7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x838]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42e3c8
mov eax, dword [ebp - 0x3c]
xor esi, esi
cmp dword [ebp + eax*4 - 0x720], esi
jne 0x42e3f2
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x42e3f4
mov eax, ebx
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x838]
call fcn.0040a242
dec dword [ebp - 0x3c]
jns 0x42e3a4
inc dword [ebp - 0x1e4]
jmp 0x42e2ac
inc dword [ebp - 0xb0]
jmp 0x42e26e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x42e437
cmp dword [ebp - 0x20], 0
je 0x42e437
mov edi, ebx
jmp 0x42e439
xor edi, edi
mov eax, dword [ebp - 0x2b4]
mov esi, dword [eax]
mov eax, dword [ebp - 0x50]
add eax, 0xa2db
xor ecx, ecx
cmp eax, esi
setg cl
xor edx, edx
cmp ecx, esi
setne dl
sub edx, esi
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x97c2
jle 0x42e475
cmp dword [ebp - 0x4c], 0
je 0x42e475
mov ecx, ebx
jmp 0x42e477
xor ecx, ecx
mov dword [ebp - 0x2c], edi
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x2b4]
mov esi, dword [eax]
imul esi, ecx
sub esi, 0x37718ce6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp esi, eax
setge cl
imul edx, ecx
mov eax, dword [ebp - 0x2b4]
mov dword [eax], edx
lea ecx, [ebp - 0x2b4]
call fcn.0040a242
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x42e4e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa20], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42e4d0
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42e505
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0x74dd032
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42e4ed
xor eax, eax
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], eax
jl 0x42e531
mov dword [ebp - 0x2c], 0xfffe
dec dword [ebp - 0x2c]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42e52c
call dword [0xad32cc]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x42e511
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x11
jne 0x42e674
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x32df
cmp dword [ebp - 0x2c], 0x35f9
jle 0x42e591
mov ebx, eax
mov esi, eax
mov edi, eax
lea eax, [esi + ebx]
or eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc edi
cmp edi, 0x7fa7
jl 0x42e557
inc esi
cmp esi, 0x2de3
push 0
pop eax
jl 0x42e555
inc ebx
cmp ebx, 0x6f7c
jl 0x42e553
push eax
call dword [0xad3104]
xor ebx, ebx
inc ebx
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x3222
jge 0x42e5b0
mov edx, 0xab7280
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42e5db
mov dword [ebp - 0x1c], eax
jmp 0x42e5f1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa78], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42e5e0
mov esi, dword [ebp - 0x14]
neg esi
sbb esi, esi
neg esi
mov ecx, dword [ebp - 0xb8]
sub ecx, dword [ebp - 0xb8]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0xb8]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0xa18]
xor ecx, ecx
cmp eax, esi
setge cl
sub edx, ecx
jne 0x42e639
xor eax, eax
cmp dword [ebp - 0xb8], eax
je 0x42e63b
mov eax, ebx
add eax, 0x7fa3
cmp eax, dword [ebp - 0x14]
jl 0x42e650
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x42e652
mov ecx, ebx
jmp 0x42e654
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xa74], ecx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42e66a
push eax
call dword [0xad32d8]
inc dword [ebp - 0x14]
xor eax, eax
jmp 0x42e534
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x4c], ebx
push 4
lea ecx, [ebp - 0x6bc]
call fcn.0040a170
mov dword [ebp - 0x4c], 0x6673e7ed
push ebx
lea ecx, [ebp - 0x3a8]
call fcn.0040a170
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x14], 0
jmp 0x42e6c1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6bc]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42e6ae
mov dword [ebp - 0x14], 0
jmp 0x42e6e3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3a8]
mov dword [eax + ecx*4], 0x176df7e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42e6d0
mov edx, dword [ebp - 0x6bc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [edx + 0xc]
setge cl
mov eax, dword [ebp - 0x3a8]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffef
jg 0x42e7ee
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x228b
cmp dword [ebp - 0x1c], 0x25ff
jle 0x42e787
mov ebx, eax
mov edi, eax
mov dword [ebp - 0x28], eax
mov esi, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x2c], 0x51a4
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
add edi, esi
dec dword [ebp - 0x2c]
jne 0x42e741
inc esi
cmp esi, 0x5844
mov edi, dword [ebp - 0x28]
jl 0x42e737
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x7ff6
push 0
pop eax
jl 0x42e735
inc ebx
cmp ebx, 0x7028
jl 0x42e730
push eax
call dword [0xad33d0]
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3a8]
mov dword [eax], ecx
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0x201e
jge 0x42e7bd
mov edx, 0xab7314
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42e7e4
dec dword [ebp - 0x4c]
xor eax, eax
jmp 0x42e711
lea ecx, [ebp - 0x3a8]
call fcn.0040a242
lea ecx, [ebp - 0x6bc]
call fcn.0040a242
movdqa xmm0, xmmword [0xac2b50]
movdqu xmmword [ebp - 0x958], xmm0
lea ecx, [ebp - 0x958]
lea eax, [ebp - 0x948]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6a4]
call fcn.0040a21c
xor eax, eax
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x42e84a
push eax
push eax
push 0x2308
call dword [0xad3398]
xor eax, eax
mov dword [ebp - 0x2c], 0x1730
cmp dword [ebp - 0x2c], 0x1ac1
jle 0x42e886
mov esi, eax
mov edi, eax
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc edi
cmp edi, 0x7628
jl 0x42e85e
inc esi
cmp esi, 0x1af6
push 0
pop eax
jl 0x42e85c
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x42e89b
push 0xd4
call dword [0xad32d0]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x15de
jge 0x42e8ba
mov edx, 0xab7338
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42e8e1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], 0xee76373a
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6a4]
mov edx, dword [eax + 8]
xor ecx, ecx
cmp edx, ebx
setg cl
xor eax, eax
cmp ecx, edx
sete al
add eax, 0x5c96dd1e
je 0x42ea5e
mov dword [ebp - 0x3c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x563ffaf0
mov dword [ebp - 0x38], 0xc17c7747
mov dword [ebp - 0x38], 0x1b583dc0
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0x9dade661
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x42e986
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf04], 0xa8bc07c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42e96d
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffe4
jge 0x42ea3a
mov dword [ebp - 0x38], 0x4d51
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x2c], 0xa167c28c
mov dword [ebp - 0x20], eax
push 3
lea ecx, [ebp - 0x5f0]
call fcn.0040a170
mov dword [ebp - 0x1c], 0
jmp 0x42e9d4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5f0]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42e9c1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x2c]
je 0x42e9ef
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0x693009c
setl cl
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x5f0]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x5f0]
call fcn.0040a242
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe4
push 0
pop eax
jl 0x42e993
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42eb39
push eax
push 0xdd7
push eax
push 0xbf
call dword [0xad3450]
jmp 0x42eb37
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x42ea7b
cmp byte [ebp - 0x15], 0
je 0x42ea78
push 0x707
call dword [0xad345c]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
mov byte [ebp - 0x15], al
jle 0x42ea65
cmp byte [ebp - 0x15], 0
je 0x42eb37
mov dword [ebp - 0x2c], 0xc95
cmp dword [ebp - 0x2c], 0xd5c
jle 0x42eac6
mov esi, eax
mov edi, esi
mov ebx, 0x1fef
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
dec edi
dec ebx
jne 0x42eaa7
inc esi
cmp esi, 0x2605
jl 0x42eaa0
xor eax, eax
inc ebx
push 0x1c59
push eax
push 0x17ef
push 0xc6
push 0x9ac
push eax
push 0x8c5
push 0x715
push 0x331
call dword [0xad3458]
mov dword [ebp - 4], 8
cmp dword [ebp - 0x2c], 0xa71
jge 0x42eb10
mov edx, 0xab7388
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42eb37
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x42eb62
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe94], 0xf6065797
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42eb49
xor eax, eax
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x42ebb7
mov dword [ebp - 0x44], 0xbeb7161a
mov dword [ebp - 0x770], 0x13f1a073
mov dword [ebp - 0x76c], 0x13f1a073
mov dword [ebp - 0x768], 0x13f1a073
mov dword [ebp - 0x764], 0x13f1a073
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x770], edx
dec dword [ebp - 0x1c]
jns 0x42eb6e
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffffa
cmp dword [ebp - 0x4c], 0x1a
jle 0x42ebfd
mov ecx, dword [ebp - 0x6a4]
mov dword [ebp - 0x1c], eax
jmp 0x42ebe0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2f4], 0x161e33ec
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x42ebcf
mov eax, dword [ecx + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2f4]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x1a
push 0
pop eax
jg 0x42ebca
lea ecx, [ebp - 0x6a4]
call fcn.0040a242
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], 0xbfe73744
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], eax
jmp 0x42ec30
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x850], 0x2ddb74a7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42ec1f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
or ecx, 0xffffffff
sub ecx, eax
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x42ec52
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x850]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x850]
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x2c], 0x2733582f
mov dword [ebp - 0x38], 0x7c10977a
mov dword [ebp - 0x38], 0x8100c430
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x38], 0x7ee39f3f
mov dword [ebp - 0x38], 0x3f6085e0
mov dword [ebp - 0x38], 0x13d0bb94
push 2
lea ecx, [ebp - 0x65c]
call fcn.0040a170
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0xb11f
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
jmp 0x42ecfc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x65c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42ece9
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], eax
jge 0x42ed1a
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x28]
test eax, eax
jne 0x42ed23
xor eax, eax
cmp dword [ebp - 0x34], eax
mov ecx, eax
je 0x42ed25
mov ecx, ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
xor edx, edx
cmp ecx, 0xe07e
setle dl
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setge cl
mov edx, dword [ebp - 0x20]
sub edx, ecx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, 7
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x65c]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x65c]
call fcn.0040a242
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x3c], 9
mov dword [ebp - 0x2c], 0x3b1d
cmp dword [ebp - 0x2c], 0x3bba
jle 0x42edb5
push eax
call dword [0xad33bc]
xor esi, esi
mov edi, esi
mov ebx, 0x5654
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
dec edi
dec ebx
jne 0x42ed98
inc esi
cmp esi, 0x695b
jl 0x42ed91
inc ebx
mov dword [ebp - 0x38], 0x15912491
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x2c], 0x37df
jge 0x42eddb
mov edx, 0xab7400
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42ee06
mov dword [ebp - 0x3c], 0xfffffff8
jmp 0x42ee4e
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x38], 0x1449c9fb
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x1c], eax
jmp 0x42ee42
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42ee3f
push 0x7a6
call dword [0xad32e4]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
je 0x42ee29
dec dword [ebp - 0x2c]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xd
jle 0x42ee0f
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42ee68
push 0x26b9
call dword [0xad3080]
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x24], 0x197f0a29
push 3
lea ecx, [ebp - 0x1d4]
call fcn.0040a170
mov dword [ebp - 0x28], 0x3568
cmp dword [ebp - 0x28], 0x365b
jle 0x42eee3
push 0x2f5
push 0xb06
call dword [0xad33d4]
xor edi, edi
xor esi, esi
mov dword [ebp - 0x2c], esi
mov ebx, esi
mov esi, 0x705c
mov eax, edi
mov ecx, ebx
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
dec ebx
dec esi
jne 0x42eeb1
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x71c
jl 0x42eeaa
inc edi
cmp edi, 0xb92
jl 0x42eea5
xor ebx, ebx
inc ebx
mov dword [ebp - 0x20], 9
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x28], 0x33c9
jge 0x42ef09
mov edx, 0xab7468
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42ef30
push 3
lea ecx, [ebp - 0x488]
call fcn.0040a170
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x42ef63
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + ecx*4], 0x2e974a52
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42ef48
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x42ef87
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x488]
mov dword [eax + ecx*4], 0xabe9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42ef6c
xor eax, eax
mov dword [ebp - 0x28], 0x5a1b
cmp dword [ebp - 0x28], 0x5cb8
jle 0x42efe5
push 0xb4b
push eax
push 0x4c1
push eax
call dword [0xad3268]
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x2c], 0x5dbf
xor esi, esi
mov eax, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x1708
jl 0x42efb6
add ebx, edi
dec dword [ebp - 0x2c]
jne 0x42efb4
inc edi
cmp edi, 0x6b41
jl 0x42efab
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 8], edx
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x28], 0x59c1
jge 0x42f02f
mov edx, 0xab7498
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42f05a
cmp dword [ebp - 0x24], eax
je 0x42f22c
mov dword [ebp - 0x1c], 0x2206
mov dword [ebp - 0x2c], 0x8886a6c6
push 2
lea ecx, [ebp - 0x5fc]
call fcn.0040a170
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x42f0a2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa2c], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42f089
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x42f0c6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5fc]
mov dword [eax + ecx*4], 0xabed9978
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42f0ab
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x2d
jle 0x42f1d5
mov dword [ebp - 0x3c], 0xbf88
mov byte [ebp - 0x15], al
mov dword [ebp - 0x1c], 0x3043
cmp dword [ebp - 0x1c], 0x30c7
jle 0x42f163
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0x67df
mov esi, eax
mov edi, dword [ebp - 0x20]
mov ebx, edi
mov edi, 0x1f10
mov eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xb70]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00409e10
push eax
call fcn.004a9d17
pop ecx
push 0
push 1
lea ecx, [ebp - 0xb70]
call fcn.0040a7b2
add ebx, esi
dec edi
jne 0x42f106
dec esi
cmp esi, 0xffffda70
mov edi, dword [ebp - 0x20]
jg 0x42f0ff
mov edi, dword [ebp - 0x28]
add dword [ebp - 0x20], edi
dec dword [ebp - 0x2c]
push 0
pop eax
jne 0x42f0fa
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x2481
jl 0x42f0f0
xor ebx, ebx
inc ebx
cmp byte [ebp - 0x15], 0
je 0x42f17b
push eax
push eax
push 0x5e4
push 0xad4
call dword [0xad3394]
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1c], 0x2f9f
jge 0x42f196
push 0xab74e0
call fcn.004a9d17
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42f1bd
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x24]
xor eax, eax
jmp 0x42f0c9
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffff
jl 0x42f1e1
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1d4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa24], eax
neg eax
mov dword [ebp - 0x2c], eax
xor ecx, ecx
cmp dword [edx + 8], ecx
sete cl
imul ecx, dword [edx + 8]
mov eax, dword [ebp - 0x2c]
sub eax, ecx
xor ecx, ecx
cmp eax, dword [edx + 8]
sete cl
sub ecx, dword [edx + 8]
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5fc]
mov dword [eax], ecx
lea ecx, [ebp - 0x5fc]
call fcn.0040a242
jmp 0x42f2e2
mov dword [ebp - 0x14], 0xfffffffd
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1d4]
mov dword [eax], ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, ebx
setg cl
add ecx, 8
xor eax, eax
cmp ecx, 0x5c9828a5
jle 0x42f274
cmp dword [ebp - 0x14], eax
mov ecx, ebx
jne 0x42f276
mov ecx, eax
cmp ecx, dword [ebp - 0x14]
jge 0x42f282
cmp dword [ebp - 0x14], eax
mov edx, eax
je 0x42f284
mov edx, ebx
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x488]
mov dword [eax + 4], edi
mov eax, dword [ebp - 0x1d4]
mov esi, dword [eax + 8]
xor ecx, ecx
cmp esi, edx
setl cl
imul ecx, esi
xor eax, eax
cmp ecx, esi
setg al
cmp eax, 4
sbb edx, edx
inc edx
xor eax, eax
cmp esi, edi
setge al
xor ecx, ecx
cmp eax, edx
setl cl
add ecx, dword [ebp - 0x14]
je 0x42f2cd
cmp dword [ebp - 0x20], 0
je 0x42f2cd
mov edx, ebx
jmp 0x42f2cf
xor edx, edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x1d4]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x488]
call fcn.0040a242
lea ecx, [ebp - 0x1d4]
call fcn.0040a242
mov dword [ebp - 0x34], ebx
push 3
lea ecx, [ebp - 0x390]
call fcn.0040a170
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], 0x835
cmp dword [ebp - 0x2c], 0xaff
jle 0x42f34e
call dword [0xad3240]
xor edi, edi
xor esi, esi
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x3199
jl 0x42f329
inc edi
cmp edi, 0x7856
jl 0x42f327
mov dword [ebp - 0x3c], 0x544d
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x2c], 0x554
jge 0x42f374
mov edx, 0xab7524
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42f39f
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x44], 0xa6fdd8fb
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x1c], eax
jmp 0x42f3c8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x390]
mov dword [eax + ecx*4], 0x9dfcf09c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42f3b5
mov edx, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
inc dword [ebp - 0x3c]
cmp eax, ecx
jg 0x42f40b
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edi, 0xf3403ca9
cmp edi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xdf29855e
jne 0x42f40b
xor eax, eax
jmp 0x42f40d
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x390]
imul eax, dword [eax + 4], 0x7911
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x390]
call fcn.0040a242
movdqa xmm0, xmmword [0xac2b50]
movdqu xmmword [ebp - 0x998], xmm0
lea ecx, [ebp - 0x998]
lea eax, [ebp - 0x988]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x4e8]
call fcn.0040a21c
mov dword [ebp - 0x750], 0xa5d6c05b
mov dword [ebp - 0x74c], 0xa5d6c05b
mov dword [ebp - 0x748], 0xa5d6c05b
mov dword [ebp - 0x744], 0xa5d6c05b
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0xca8c98aa
mov dword [ebp - 0x24], 0x58fc5674
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 7
push ebx
lea ecx, [ebp - 0x308]
call fcn.0040a170
mov dword [ebp - 0x28], 0xb10079d6
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42f4e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42f4cd
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42f507
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42f4ed
xor eax, eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 3
jg 0x42f6c1
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x42f543
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x200], 0xc4c8d3c8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42f52a
xor eax, eax
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 3
jg 0x42f6b6
mov dword [ebp - 0x3c], 0xf90ef307
mov dword [ebp - 0x30], 0x963ab194
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xa9b27fa3
mov dword [ebp - 0x38], 0xefa1e1c5
mov dword [ebp - 0x38], 0xa7b5cf1c
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], 0x1046
mov dword [ebp - 0x3c], 3
cmp dword [ebp - 0x3c], eax
jl 0x42f6ab
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x38], 0x39ee491b
push 2
lea ecx, [ebp - 0x868]
call fcn.0040a170
mov dword [ebp - 0x34], 0x68a0
cmp dword [ebp - 0x34], 0x6949
jle 0x42f615
push 0x54d
push 0x7e0
push 0xc94
push 0x1410
call dword [0xad33cc]
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0x2c], 0x1042
xor esi, esi
mov eax, ebx
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x2027
jl 0x42f5e8
add ebx, edi
dec dword [ebp - 0x2c]
jne 0x42f5e6
inc edi
cmp edi, 0x517d
jl 0x42f5dd
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], 0
jmp 0x42f62d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x868]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42f61e
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x34], 0x6638
jge 0x42f652
mov edx, 0xab7584
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42f679
mov eax, dword [ebp - 0x3c]
xor esi, esi
cmp dword [ebp + eax*4 - 0x750], esi
jne 0x42f68e
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x42f690
mov eax, ebx
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x14]
lea ecx, [ebp - 0x868]
call fcn.0040a242
dec dword [ebp - 0x3c]
xor eax, eax
jmp 0x42f58d
inc dword [ebp - 0x1fc]
jmp 0x42f549
inc dword [ebp - 0x98]
jmp 0x42f50d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x98], eax
test eax, eax
je 0x42f6d8
cmp dword [ebp - 0x20], 0
je 0x42f6d8
mov edi, ebx
jmp 0x42f6da
xor edi, edi
mov eax, dword [ebp - 0x308]
mov esi, dword [eax]
mov eax, dword [ebp - 0x50]
add eax, 0xa2db
xor ecx, ecx
cmp eax, esi
setg cl
xor edx, edx
cmp ecx, esi
setne dl
sub edx, esi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x97c2
jle 0x42f716
cmp dword [ebp - 0x24], 0
je 0x42f716
mov ecx, ebx
jmp 0x42f718
xor ecx, ecx
mov dword [ebp - 0x2c], edi
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x308]
mov esi, dword [eax]
imul esi, ecx
sub esi, 0x37718ce6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp esi, eax
setge cl
imul edx, ecx
mov eax, dword [ebp - 0x308]
mov dword [eax], edx
lea ecx, [ebp - 0x308]
call fcn.0040a242
mov dword [ebp - 0x14], 0xfffffff9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x42f783
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa68], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42f76e
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x42f7a3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb4], 0x74dd032
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42f78b
xor eax, eax
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], eax
jl 0x42f7cf
mov dword [ebp - 0x2c], 0xfffe
dec dword [ebp - 0x2c]
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42f7ca
call dword [0xad32cc]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x42f7af
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x11
jne 0x42f87f
jmp 0x42f7e0
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], eax
jmp 0x42f7f9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa98], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42f7e8
mov esi, dword [ebp - 0x14]
neg esi
sbb esi, esi
neg esi
mov ecx, dword [ebp - 0xb4]
sub ecx, dword [ebp - 0xb4]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0xb4]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0xa60]
xor ecx, ecx
cmp eax, esi
setge cl
sub edx, ecx
jne 0x42f841
xor eax, eax
cmp dword [ebp - 0xb4], eax
je 0x42f843
mov eax, ebx
add eax, 0x7fa3
cmp eax, dword [ebp - 0x14]
jl 0x42f858
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x42f85a
mov ecx, ebx
jmp 0x42f85c
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xa94], ecx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42f872
push eax
call dword [0xad32d8]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
je 0x42f7de
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], 0xee76373a
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4e8]
mov edx, dword [eax + 8]
xor ecx, ecx
cmp edx, ebx
setg cl
xor eax, eax
cmp ecx, edx
sete al
add eax, 0x5c96dd1e
je 0x42fc1c
push 4
lea ecx, [ebp - 0x6b0]
call fcn.0040a170
mov dword [ebp - 0x30], 0x6673e7ed
push ebx
lea ecx, [ebp - 0x348]
call fcn.0040a170
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x14], 0
jmp 0x42f909
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6b0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42f8f6
mov dword [ebp - 0x14], 0
jmp 0x42f92b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x348]
mov dword [eax + ecx*4], 0x176df7e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x42f918
mov edx, dword [ebp - 0x6b0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [edx + 0xc]
setge cl
mov eax, dword [ebp - 0x348]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0
jmp 0x42f97e
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x348]
mov dword [eax], ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffef
jle 0x42f95d
lea ecx, [ebp - 0x348]
call fcn.0040a242
lea ecx, [ebp - 0x6b0]
call fcn.0040a242
mov dword [ebp - 0x34], 0x590a
cmp dword [ebp - 0x34], 0x59de
jle 0x42f9ef
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
xor edi, edi
xor esi, esi
mov dword [ebp - 0x44], ebx
mov ecx, edi
shl ebx, cl
mov eax, esi
and eax, ebx
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x309c
jl 0x42f9ba
inc edi
cmp edi, 0x2d20
mov ebx, dword [ebp - 0x2c]
jl 0x42f9b1
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, 0x2565
jl 0x42f9af
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x42fa0b
push eax
push eax
push 0x2308
call dword [0xad3398]
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42fa21
push 0xd4
call dword [0xad32d0]
xor eax, eax
mov byte [ebp - 0x15], al
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x42fa4d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xed4], 0xf6065797
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42fa34
xor eax, eax
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x42faa2
mov dword [ebp - 0x44], 0xbeb7161a
mov dword [ebp - 0x730], 0x13f1a073
mov dword [ebp - 0x72c], 0x13f1a073
mov dword [ebp - 0x728], 0x13f1a073
mov dword [ebp - 0x724], 0x13f1a073
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0x730], edx
dec dword [ebp - 0x1c]
jns 0x42fa59
xor eax, eax
cmp byte [ebp - 0x15], 0
je 0x42fbce
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x563ffaf0
mov dword [ebp - 0x38], 0xc17c7747
mov dword [ebp - 0x38], 0x1b583dc0
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0x9dade661
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x40], 0xffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x42fb08
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xeb4], 0xa8bc07c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42faef
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffe4
jge 0x42fbbc
mov dword [ebp - 0x38], 0x4d51
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x2c], 0xa167c28c
mov dword [ebp - 0x20], eax
push 3
lea ecx, [ebp - 0x4a0]
call fcn.0040a170
mov dword [ebp - 0x1c], 0
jmp 0x42fb56
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4a0]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42fb43
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x2c]
je 0x42fb71
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0x693009c
setl cl
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x4a0]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x4a0]
call fcn.0040a242
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe4
push 0
pop eax
jl 0x42fb15
push eax
push 0xdd7
push eax
push 0xbf
call dword [0xad3450]
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x34], 0x57c8
jge 0x42fbed
mov edx, 0xab7608
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x4305ff
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xe
jmp 0x42fc51
mov dword [ebp - 0x44], 3
cmp dword [ebp - 0x44], eax
jne 0x42fc57
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x42fc4e
push eax
push 0x1cae
push eax
call dword [0xad3028]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x12
jge 0x42fc2a
mov dword [ebp - 0x30], eax
push 3
cmp dword [ebp - 0x30], 3
jg 0x4303f4
lea ecx, [ebp - 0x608]
call fcn.0040a170
mov dword [ebp - 0x14], 0x5020f89b
mov dword [ebp - 0x1c], 0
jmp 0x42fc94
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x608]
mov dword [eax + ecx*4], 0xdc85f70a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42fc81
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], 0
jl 0x42feda
mov dword [ebp - 0x24], 0x52c58fb7
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x24], 2
jg 0x42fd89
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x608]
xor esi, esi
cmp dword [eax + ecx*4], esi
jne 0x42fd89
mov dword [ebp - 0x2c], 0x52b2
cmp dword [ebp - 0x2c], 0x54bc
jle 0x42fd29
xor ebx, ebx
xor edi, edi
xor esi, esi
mov eax, ebx
cdq
idiv edi
mov ecx, edx
mov dword [ebp - 0x44], ecx
mov eax, esi
and eax, ecx
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x671f
mov ecx, dword [ebp - 0x44]
jl 0x42fcf7
inc edi
cmp edi, 0x733c
jl 0x42fceb
inc ebx
cmp ebx, 0x6982
jl 0x42fce9
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x42fd3b
push eax
push eax
call dword [0xad3310]
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x2c], 0x5096
jge 0x42fd5a
mov edx, 0xab7634
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42fd81
inc dword [ebp - 0x24]
jmp 0x42fcb9
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ebx, eax
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, 0xc279a20b
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x14]
jge 0x42fea4
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], eax
jl 0x42fde6
mov dword [ebp - 0x44], 0xffff
cmp dword [ebp - 0x44], eax
jne 0x42fde6
dec dword [ebp - 0x24]
jns 0x42fdd5
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], eax
jl 0x42fed2
mov dword [ebp - 0x1c], 0x653ffd03
mov dword [ebp - 0x38], 0x595a2e71
mov dword [ebp - 0x28], 0x1892
cmp dword [ebp - 0x28], 0x1bbb
jle 0x42fe3c
mov esi, eax
mov edi, esi
mov ebx, 0x5e8f
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
dec edi
dec ebx
jne 0x42fe1d
inc esi
cmp esi, 0x22f4
jl 0x42fe16
xor eax, eax
inc ebx
mov dword [ebp - 0x1c], eax
jmp 0x42fe4e
mov dword [ebp - 0x2c], 7
inc dword [ebp - 0x2c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x42fe41
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x28], 0x17ca
jge 0x42fe73
mov edx, 0xab7680
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x42fe9a
dec dword [ebp - 0x24]
xor eax, eax
jmp 0x42fded
mov dword [ebp - 0x24], eax
jmp 0x42febc
cmp byte [ebp - 0x15], 0
je 0x42feb9
push eax
push eax
call dword [0xad3278]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
mov byte [ebp - 0x15], al
jle 0x42fea9
cmp byte [ebp - 0x15], 0
je 0x42fed2
push eax
call dword [0xad326c]
dec dword [ebp - 0x14]
jmp 0x42fca1
lea ecx, [ebp - 0x608]
call fcn.0040a242
xor eax, eax
mov byte [ebp - 0x15], al
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x440d
cmp dword [ebp - 0x2c], 0x47c8
jle 0x42ff50
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, esi
xor eax, edi
xor eax, ebx
xor eax, ecx
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x616a
mov ecx, dword [ebp - 0x1c]
jl 0x42ff0b
inc edi
cmp edi, 0x2bc1
push 0
pop eax
jl 0x42ff09
inc ebx
cmp ebx, 0x4985
jl 0x42ff07
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7e57
jl 0x42ff05
xor ebx, ebx
inc ebx
push 2
lea ecx, [ebp - 0x4b8]
call fcn.0040a170
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x2c], 0x427b
jge 0x42ff7c
mov edx, 0xab7708
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42ffa7
mov dword [ebp - 0x1c], eax
jmp 0x42ffbb
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4b8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42ffac
mov dword [ebp - 0x3c], 3
cmp dword [ebp - 0x3c], 0xc
jle 0x43022c
push 3
lea ecx, [ebp - 0x3c0]
call fcn.0040a170
mov dword [ebp - 0x1c], 0x3cdb
cmp dword [ebp - 0x1c], 0x3e13
jle 0x430043
xor ebx, ebx
mov dword [ebp - 0x28], ebx
xor edi, edi
mov eax, ebx
cdq
idiv edi
mov ebx, edx
mov dword [ebp - 0x2c], 0x29b4
xor esi, esi
mov eax, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x225b
jl 0x430006
inc ebx
dec dword [ebp - 0x2c]
jne 0x430004
inc edi
cmp edi, 0x59b2
mov ebx, dword [ebp - 0x28]
jl 0x42fff6
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, 0x75eb
jl 0x42fff4
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], 0x74defc7
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x1c], 0x3b4e
jge 0x430069
mov edx, 0xab7770
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x430094
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x1efae07d
mov dword [ebp - 0x38], 0xf15ea376
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], eax
jmp 0x4300c7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c0]
mov dword [eax + ecx*4], 0x8f5f4990
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4300b4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x430342
mov dword [ebp - 0x38], 0xba5b0420
mov dword [ebp - 0x38], 0x725fc1c5
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x2c], 0x378
cmp dword [ebp - 0x2c], 0x5f7
jle 0x430185
call dword [0xad325c]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
xor ebx, ebx
xor esi, esi
xor edi, edi
lea eax, [edi + esi]
add ecx, ebx
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0xe4c]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00409e10
push eax
call fcn.004a9d17
pop ecx
push 0
push 1
lea ecx, [ebp - 0xe4c]
call fcn.0040a7b2
inc edi
cmp edi, 0x3859
mov ecx, dword [ebp - 0x1c]
jl 0x430124
inc esi
cmp esi, 0x5339
jl 0x430122
inc ebx
cmp ebx, 0x6846
jl 0x430120
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xf35
jl 0x43011e
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], 7
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x2c], 0x156
jge 0x4301a7
push 0xab77e0
call fcn.004a9d17
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x4301d2
mov dword [ebp - 0x38], 0xd9ab8a87
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xc83b9135
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], 0x32987c83
mov dword [ebp - 0x1c], eax
jmp 0x43020a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb1c], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4301f9
mov eax, dword [ebp - 0x3c0]
xor esi, esi
cmp dword [eax + 4], esi
je 0x43033d
lea ecx, [ebp - 0x3c0]
call fcn.0040a242
lea ecx, [ebp - 0x4b8]
call fcn.0040a242
cmp byte [ebp - 0x15], 0
je 0x4303e9
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x20], 0x16b4
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x28], 0x1054
cmp dword [ebp - 0x28], 0x1298
jle 0x4302a1
xor edi, edi
xor esi, esi
mov dword [ebp - 0x2c], esi
mov ebx, esi
mov esi, 0x2c97
mov eax, ebx
or eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
dec ebx
dec esi
jne 0x430274
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x557c
jl 0x43026d
inc edi
cmp edi, 0x3458
jl 0x430268
mov dword [ebp - 0x4c], 0x896e
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x28], 0xdc9
jge 0x4302c7
mov edx, 0xab783c
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4303b0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 0x8e85
xor ecx, ecx
cmp eax, 0x1af7
setge cl
cmp dword [ebp - 0x1c], ecx
jg 0x430315
cmp dword [ebp - 0x1c], 0
jne 0x4303b0
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x430334
push 0x19ca
push 0x268c
push 0x1e83
call dword [0xad3060]
mov dword [ebp - 0x4c], 0
jmp 0x4303a8
dec dword [ebp - 0x2c]
jmp 0x430363
mov dword [ebp - 0x38], 0xdce9
mov dword [ebp - 0x38], 0xb5c50ec3
mov dword [ebp - 0x38], eax
xor ecx, ecx
mov eax, dword [ebp - 0x4b8]
cmp dword [eax], ebx
setl cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x3c0]
call fcn.0040a242
inc dword [ebp - 0x3c]
jmp 0x42ffc8
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x4303a5
push 0x7a6
call dword [0xad32e4]
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x3b
jge 0x430390
jmp 0x4303de
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, 0x123d4a1c
setle dl
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
push 0x707
call dword [0xad345c]
inc dword [ebp - 0x30]
xor ebx, ebx
inc ebx
jmp 0x42fc5a
lea ecx, [ebp - 0x2cc]
call fcn.0040a170
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x28], 0xce3d978
mov dword [ebp - 0x14], 0
jmp 0x43042f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2cc]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x43041c
mov dword [ebp - 0x14], 0
jmp 0x43044f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7b8], 0x748bbe26
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x43043e
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, dword [edx + 8]
setl cl
imul eax, ecx, 7
mov esi, dword [ebp - 0x2cc]
test eax, eax
jne 0x430478
cmp dword [esi + 4], eax
je 0x43047a
mov eax, ebx
cmp eax, 0xd6c1dfe9
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, dword [esi + 4]
setl cl
xor edx, edx
cmp ecx, 0x14ad
setge dl
xor eax, eax
cmp edx, 0x450b
setl al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [esi + 4]
jne 0x4304af
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], 0x8974b66
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setge cl
sub ecx, 0x83800955
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x7b4], eax
lea ecx, [ebp - 0x2cc]
call fcn.0040a242
mov byte [ebp - 0x15], 0
cmp byte [ebp - 0x15], 0
je 0x4305ff
push 2
lea ecx, [ebp - 0x4d0]
call fcn.0040a170
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x28], ebx
push 2
lea ecx, [ebp - 0x6f8]
call fcn.0040a170
mov dword [ebp - 0x44], 0xdec4f3f7
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 2
jge 0x43054c
xor esi, esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4d0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x430537
mov dword [ebp - 0x14], 0
jmp 0x430564
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6f8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x430555
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
mov eax, dword [ebp - 0x4d0]
cmp dword [eax + 4], edx
setle cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x6f8]
mov dword [eax], ecx
xor eax, eax
test ecx, ecx
setle al
mov dword [ebp - 0x44], eax
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x4305bc
push eax
push eax
call dword [0xad32b0]
lea ecx, [ebp - 0x6f8]
call fcn.0040a242
lea ecx, [ebp - 0x4d0]
call fcn.0040a242
push 0x1c59
xor eax, eax
push eax
push 0x17ef
push 0xc6
push 0x9ac
push eax
push 0x8c5
push 0x715
push 0x331
call dword [0xad3458]
mov dword [ebp - 0x34], 0xfffffffa
cmp dword [ebp - 0x34], 0x1a
jle 0x4308b2
push ebx
lea ecx, [ebp - 0x32c]
call fcn.0040a170
mov dword [ebp - 0x14], 0x4c506d44
mov dword [ebp - 0x28], 0x14801465
mov dword [ebp - 0x44], 0x318b
push 2
lea ecx, [ebp - 0x620]
call fcn.0040a170
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x430662
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x32c]
mov dword [eax + ecx*4], 0x5b57fd54
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x430648
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x430686
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x620]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x43066b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x430737
mov dword [ebp - 0x30], 0xa6b950ba
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jl 0x43072e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0x32c]
cmp dword [esi + eax*4], 5
setge cl
cmp ecx, dword [esi + edx*4]
jle 0x4306d1
cmp dword [esi], 0
je 0x4306d1
mov eax, ebx
jmp 0x4306d3
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x28]
sub edx, dword [eax + ecx*4]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x32c]
cmp ecx, dword [eax]
setge dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setg cl
mov eax, dword [ebp - 0x620]
mov dword [eax], ecx
cmp dword [ebp - 0x30], 0
jne 0x43072c
dec dword [ebp - 0x30]
jns 0x4306a5
xor eax, eax
dec dword [ebp - 0x14]
jns 0x430692
lea ecx, [ebp - 0x620]
call fcn.0040a242
lea ecx, [ebp - 0x32c]
call fcn.0040a242
mov dword [ebp - 0x1c], 0
jmp 0x430767
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x320], 0x161e33ec
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x430756
mov eax, dword [ebp - 0x4e8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], al
je 0x4307a3
push eax
push 0xe48
push eax
push 0x4d
call dword [0xad3274]
xor eax, eax
mov dword [ebp - 0x28], 0x1d48
cmp dword [ebp - 0x28], 0x20da
jle 0x4307f5
push eax
call dword [0xad30fc]
xor edi, edi
mov ebx, edi
mov dword [ebp - 0x2c], 0x794a
xor esi, esi
mov eax, ebx
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x631d
jl 0x4307c7
dec ebx
dec dword [ebp - 0x2c]
jne 0x4307c5
inc edi
cmp edi, 0x63c3
jl 0x4307bc
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x14], 0
jne 0x43080f
mov eax, dword [ebp - 0x14]
push 4
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x44], ecx
jne 0x43080f
xor edx, edx
jmp 0x430811
mov edx, ebx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
test ecx, ecx
sets al
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x14]
xor ebx, ebx
cmp edx, eax
setge bl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp ebx, eax
setl cl
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x28], 0x1b42
jge 0x430883
mov edx, 0xab788c
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x320]
inc dword [ebp - 0x34]
jmp 0x430606
lea ecx, [ebp - 0x4e8]
call fcn.0040a242
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], 0xbfe73744
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], eax
jmp 0x4308e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x880], 0x2ddb74a7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4308d4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
or ecx, 0xffffffff
sub ecx, eax
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x430907
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x880]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x271f
cmp dword [ebp - 0x20], 0x27f6
jle 0x4309a2
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x2c], 0x6ff6
xor esi, esi
mov eax, esi
and eax, ebx
and eax, edi
cdq
push edx
push eax
mov ecx, 0xad0518
call fcn.00409e1b
inc esi
cmp esi, 0x5b81
jl 0x430965
dec edi
dec dword [ebp - 0x2c]
jne 0x430963
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x3af5
jl 0x430959
inc ebx
cmp ebx, 0x4e15
jl 0x430954
xor ebx, ebx
inc ebx
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x20], 0x23f5
jge 0x4309c1
mov edx, 0xab78e4
mov ecx, 0xad0518
call fcn.0040ca55
or dword [ebp - 4], 0xffffffff
jmp 0x4309e8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x50], 0xa56718e5
push ebx
lea ecx, [ebp - 0x6c8]
call fcn.0040a170
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 2
jge 0x430a20
xor esi, esi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x430a0d
mov dword [ebp - 0x2c], 0x6066
cmp dword [ebp - 0x2c], 0x6143
jle 0x430a76
xor esi, esi
xor edi, edi
mov eax, edi
and eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0xba0]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00409e10
push eax
call fcn.004a9d17
pop ecx
push 0
push ebx
lea ecx, [ebp - 0xba0]
call fcn.0040a7b2
inc edi
cmp edi, 0x30d
jl 0x430a34
inc esi
cmp esi, 0x29a2
jl 0x430a32
mov dword [ebp - 0x14], 0
jmp 0x430a8f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x430a7f
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x2c], 0x5ec9
jge 0x430aaf
push 0xab7940
call fcn.004a9d17
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20], 0x10c7
cmp dword [ebp - 0x20], 0x11c6
jle 0x430b61
mov ebx, eax
mov dword [ebp - 0x28], ebx
jmp 0x430aec
xor eax, eax
mov esi, eax
mov dword [ebp - 0x2c], esi
jmp 0x430af5
xor eax, eax
mov edi, eax
mov dword [ebp - 0x44], ebx
mov ecx, esi
shl ebx, cl
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
lea ecx, [ebp - 0xae0]
call fcn.00401961
pop ecx
pop ecx
mov ecx, eax
call fcn.00409e10
push eax
call fcn.004a9d17
pop ecx
push 0
push 1
lea ecx, [ebp - 0xae0]
call fcn.0040a7b2
inc edi
cmp edi, 0x446a
jl 0x430afe
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x12e7
mov ebx, dword [ebp - 0x28]
jl 0x430af3
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, 0x32a2
jl 0x430aea
push 0x725
call dword [0xad30f8]
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x20], 0x105f
jge 0x430b80
push 0xab79b0
call fcn.004a9d17
pop ecx
or dword [ebp - 4], 0xffffffff
xor eax, eax
xor edi, edi
inc edi
cmp byte [ebp - 0x15], al
je 0x430b9a
push 0x93e
push eax
call dword [0xad3454]
mov eax, dword [ebp - 0x94]
mov esi, 0xb5131d8b
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x50]
jle 0x430bce
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x94]
add ecx, eax
mov eax, dword [ebp - 0x90]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x90]
xor ecx, ecx
cmp eax, edx
setle cl
mov eax, dword [ebp - 0x6c8]
mov dword [eax], ecx
lea ecx, [ebp - 0x6c8]
call fcn.0040a242
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], 0xa56718e5
push edi
lea ecx, [ebp - 0x500]
call fcn.0040a170
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x430c50
xor esi, esi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x430c36
xor eax, eax
mov esi, 0xb5131d8b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x430c6f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x500]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x430c58
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x430c84