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

Disassembly:
mov eax, 0x4afd74
call fcn.004af828
sub esp, 0x24c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x4c], ecx
push 2
lea ecx, [ebp - 0x148]
call fcn.00411076
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x3c], 6
xor edi, edi
inc edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], 0x7308f472
mov dword [ebp - 0x2c], 0xd711e7bf
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x24], 0x6ac2
xor ebx, ebx
cmp dword [ebp - 0x24], 0x6b31
jle 0x4257b6
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42578a
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1d8]
call fcn.004116f7
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x380f
jl 0x42576e
inc esi
cmp esi, 0x6363
jl 0x425769
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x6a15
jge 0x4257d0
push 0xaa7f58
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4257f9
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], 0x278c007c
mov dword [ebp - 0x3c], 0xdd6
mov dword [ebp - 0x34], 0x46773196
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], 0xbaa6
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x18], ebx
push 4
pop edx
jmp 0x425845
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1b0], 0x4a2a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x425834
mov dword [ebp - 0x18], ebx
jmp 0x425862
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x78144ad7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x42584f
mov dword [ebp - 0x18], ebx
jmp 0x42587e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c0], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x42586d
mov dword [ebp - 0x20], 0x3acc
cmp dword [ebp - 0x20], 0x3e3a
jle 0x4258df
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x1f0]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4258b4
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1f0]
call fcn.004116f7
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x5aa2
jl 0x42589a
inc esi
cmp esi, 0x5872
jl 0x425895
mov edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
mov eax, dword [ebp - 0x1c0]
add eax, edx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
cmp eax, ecx
mov ecx, edi
cmove ecx, ebx
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x34]
cmp eax, ecx
mov dword [ebp - 0x28], edi
jl 0x425924
mov dword [ebp - 0x28], ebx
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x148]
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x1a8]
xor edx, edx
cmp eax, 0x5ccc
setne dl
xor ecx, ecx
cmp esi, dword [ebp - 0x28]
setle cl
xor eax, eax
cmp edx, ecx
setg al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x20], 0x37b7
jge 0x425976
push 0xaa7fd8
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42599f
lea ecx, [ebp - 0x148]
call fcn.00411148
push 3
lea ecx, [ebp - 0xf0]
call fcn.00411076
mov dword [ebp - 0x18], 0x2d149fe
mov dword [ebp - 0x14], ebx
jmp 0x4259d6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xbeaa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4259c3
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xffffffe4
cmp dword [ebp - 0x18], 8
jge 0x425b70
mov dword [ebp - 0x28], 0x5a87
cmp dword [ebp - 0x28], 0x5bd9
jle 0x425a33
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x1edc
jl 0x425a0d
inc esi
cmp esi, 0x116c
jl 0x425a0b
xor edi, edi
inc edi
mov dword [ebp - 0x20], 0x33c63384
mov dword [ebp - 4], 4
cmp dword [ebp - 0x28], 0x56bd
jge 0x425a5b
push 0xaa8070
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x425a84
mov dword [ebp - 0x34], 0xbc00eadd
mov dword [ebp - 0x28], 0xd534a2c9
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], 0xa408
mov dword [ebp - 0x14], ebx
jmp 0x425ab2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], 0x6ff609d7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x425aa1
mov dword [ebp - 0x20], 0x16
jmp 0x425b5e
mov dword [ebp - 0x24], 0xffffffff
push edi
lea ecx, [ebp - 0xd8]
call fcn.00411076
mov dword [ebp - 0x14], ebx
jmp 0x425aea
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x425adb
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
cmp dword [eax], ebx
jne 0x425b10
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xd8]
imul ecx, dword [eax]
test ecx, ecx
jne 0x425b48
cmp dword [ebp - 0x20], ebx
mov eax, ebx
je 0x425b4a
mov eax, edi
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x38]
lea ecx, [ebp - 0xd8]
call fcn.00411148
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1a
je 0x425ac3
inc dword [ebp - 0x18]
jmp 0x4259ef
lea ecx, [ebp - 0xf0]
call fcn.00411148
mov eax, dword [0xabf0fc]
test al, 1
jne 0x425bff
or eax, edi
mov dword [0xabf0fc], eax
mov dword [0xabf120], ebx
mov dword [0xabf124], ebx
push ebx
push ebx
call fcn.004139c5
mov dword [0xabf120], eax
mov dword [0xabf128], ebx
mov dword [0xabf130], ebx
mov dword [0xabf13c], 0x3f800000
mov dword [ebp - 0x90], eax
mov dword [0xabf12c], ebx
lea eax, [ebp - 0x90]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x180]
push eax
mov ecx, 0xabf128
call fcn.004136fb
mov dword [0xabf134], 7
mov dword [0xabf138], 8
push 0x4b0c43
call fcn.004968dd
pop ecx
imul eax, dword [ebp - 0x4c], 0x2710
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x30], 0x24039b64
cmp dword [ebp - 0x30], ebx
je 0x425c2a
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x6e871d97
mov dword [ebp - 0x38], ebx
dec dword [ebp - 0x38]
jmp 0x425c3b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425c3b
push ebx
push ebx
call dword [0xac12e4]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425c5b
push ebx
push ebx
push 0x514
push 0xed2
push 0x1e16
call dword [0xac1450]
lea eax, [ebp - 0x60]
push eax
call fcn.00427227
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0x8d020bd2
mov dword [ebp - 0x30], 0x65721867
mov dword [ebp - 0x18], ebx
jmp 0x425c8a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 0xb9c2d621
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x425c7c
mov dword [ebp - 0x18], ebx
jmp 0x425ca2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x425c94
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
je 0x425cb5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
je 0x425cc5
cmp dword [ebp - 0x14], ebx
jne 0x425cc8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x14], 0xfffffffd
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, 7
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x28], 0
je 0x425e62
mov dword [ebp - 0x18], 0xddc85f70
push 2
lea ecx, [ebp - 0x170]
call fcn.00411076
mov dword [ebp - 0x14], ebx
jmp 0x425d26
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x425d17
mov dword [ebp - 0x18], ebx
jmp 0x425dda
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x425d51
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1a0], 0x58fb770a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x425d40
mov dword [ebp - 0x14], 6
jmp 0x425dd1
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x38], 0xe11a
mov dword [ebp - 0x20], ebx
jmp 0x425dc3
mov dword [ebp - 0x40], 0xfffffffd
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1a0], ebx
je 0x425dba
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1a0]
xor edx, edx
cmp eax, 0xfffffff6
sete dl
add edx, 8
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x425d73
cmp dword [ebp - 0x18], ebx
jne 0x425dd7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jge 0x425d60
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jl 0x425d34
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x425e06
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425e01
push 0x1e18
push ebx
call dword [0xac1318]
dec dword [ebp - 0x18]
jns 0x425dec
lea ecx, [ebp - 0x170]
call fcn.00411148
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x14], ebx
jmp 0x425e37
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x425e26
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x427159
mov dword [ebp - 0x38], edi
dec dword [ebp - 0x38]
dec dword [ebp - 0x20]
jns 0x425e52
jmp 0x427159
mov dword [ebp - 0x14], ebx
jmp 0x425e78
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0xad313dd3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x425e67
mov dword [ebp - 0x8c], 0x1b
jmp 0x425ea0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0x690f1d89
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xfffffffd
je 0x425e8a
mov eax, dword [0xabf0fc]
test al, 2
jne 0x425f2e
or eax, 2
mov dword [0xabf0fc], eax
mov dword [0xabf100], ebx
mov dword [0xabf104], ebx
push ebx
push ebx
call fcn.004139c5
mov dword [0xabf100], eax
mov dword [0xabf108], ebx
mov dword [0xabf110], ebx
mov dword [0xabf11c], 0x3f800000
mov dword [ebp - 0xb0], eax
mov dword [0xabf10c], ebx
lea eax, [ebp - 0xb0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x17c]
push eax
mov ecx, 0xabf108
call fcn.004136fb
mov dword [0xabf114], 7
mov dword [0xabf118], 8
push 0x4b0c3e
call fcn.004968dd
pop ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xfffffff5
jmp 0x425fb9
mov dword [ebp - 0x14], ebx
jmp 0x425f4d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0x3df603fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x425f3f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425f7a
push 0xbfa
push ebx
push ebx
push ebx
push ebx
push 0x2212
push 0x776
push 0x2454
call dword [0xac13b0]
mov dword [ebp - 0x64], 0x17
jmp 0x425fb0
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425f98
push 0x848
push ebx
call dword [0xac1304]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x425fad
push edi
push 0x2189
call dword [0xac1444]
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0x18
jl 0x425f83
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xf
jle 0x425f3a
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x78], xmm0
lea eax, [ebp - 0x4c]
push eax
call fcn.00427289
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp byte [ebp + 0xc], 0
jne 0x425fe7
test eax, eax
jne 0x426b42
mov dword [ebp - 0x14], 0x8769
mov dword [ebp - 0x24], 0x47d2038
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x30], 0x9ca3191b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x42600f
push ebx
call dword [0xac130c]
cmp dword [ebp - 0x14], ebx
jne 0x42601b
mov eax, dword [ebp - 0x14]
mov eax, ebx
jmp 0x42601d
mov eax, edi
cmp eax, dword [ebp - 0x24]
jne 0x426029
cmp dword [ebp - 0x24], ebx
jne 0x426029
mov edi, ebx
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setne cl
mov edx, dword [ebp - 0x14]
sub edx, ecx
add edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
neg edx
xor eax, eax
cmp edx, 0xfffc
setne al
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x258]
push eax
mov dl, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x4c]
call fcn.00414c99
pop ecx
mov esi, eax
lea edi, [ebp - 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], 0xcfe0
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x2c], 0x6b78
cmp dword [ebp - 0x2c], 0x6f5c
jle 0x4260df
push 0x21f6
push ebx
call dword [0xac12a8]
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x1f16
jl 0x4260ba
inc esi
cmp esi, 0x2c60
jl 0x4260b8
cmp dword [ebp - 0x14], ebx
je 0x4260f9
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x14]
jle 0x4260f9
xor edi, edi
inc edi
mov eax, edi
jmp 0x4260fe
mov eax, ebx
xor edi, edi
inc edi
cmp dword [ebp - 0x14], eax
jle 0x42610a
cmp dword [ebp - 0x14], ebx
mov ecx, edi
jne 0x42610c
mov ecx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
sub eax, 0x41fd9d08
neg eax
sbb eax, eax
inc eax
neg eax
cmp eax, 0x15466bc6
jg 0x426178
push 4
lea ecx, [ebp - 0x154]
call fcn.00411076
mov dword [ebp - 0x14], ebx
jmp 0x426153
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], 0x270f9e3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x426140
mov dword [ebp - 0x18], 0x9b6917ab
mov eax, dword [ebp - 0x154]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x154]
call fcn.00411148
jmp 0x4261aa
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 0x523e24b1
mov eax, dword [ebp - 0x20]
neg eax
je 0x42618c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x6a30
jge 0x4261cb
push 0xaa80b8
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4261f4
cmp byte [ebp + 0xc], 0
je 0x426578
cmp dword [ebp - 0x70], 0
je 0x426578
mov dword [ebp - 0x18], 0x6de7
mov dword [ebp - 0x20], 0xffffffff
push 3
lea ecx, [ebp - 0x9c]
call fcn.00411076
mov dword [ebp - 0x30], 0x26d2e858
mov dword [ebp - 0x14], ebx
jmp 0x42623e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42622f
mov dword [ebp - 0x20], 0xb905
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9c]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x18], 0x1c
je 0x4263bc
mov dword [ebp - 0x14], ebx
jmp 0x426286
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x426279
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x4263b4
mov dword [ebp - 0x2c], 0x7ecf
cmp dword [ebp - 0x2c], 0x7f9a
jle 0x4262f5
push ebx
call dword [0xac12d4]
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov eax, esi
mov ecx, ebx
sar eax, cl
and eax, edi
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc ebx
cmp ebx, 0xdbf
jl 0x4262b9
inc esi
cmp esi, 0x4df4
push 0
pop ebx
jl 0x4262b6
inc edi
cmp edi, 0x3906
jl 0x4262b4
call dword [0xac12b8]
xor edi, edi
inc edi
mov dword [ebp - 4], 8
cmp dword [ebp - 0x2c], 0x7c18
jge 0x426316
push 0xaa80fc
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42633f
mov dword [ebp - 0x14], ebx
jmp 0x426352
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0xba16
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x426344
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x42636b
push 0x2078
call dword [0xac1448]
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x5c]
add eax, dword [esi + 8]
cmp eax, dword [ebp - 0x5c]
jg 0x426386
cmp dword [ebp - 0xa0], ebx
mov edx, edi
jne 0x426388
mov edx, ebx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp dword [esi + 8], eax
setl cl
mov eax, dword [ebp - 0x9c]
mov dword [eax + edx*4], ecx
dec dword [ebp - 0x20]
jmp 0x426292
inc dword [ebp - 0x18]
jmp 0x42626a
lea ecx, [ebp - 0x9c]
call fcn.00411148
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x20], 0x65ab
cmp dword [ebp - 0x20], 0x67d2
jle 0x426464
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
cdq
idiv esi
mov dword [ebp - 0x2c], edx
mov esi, ebx
lea eax, [esi + ecx]
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x208]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x426418
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x208]
call fcn.004116f7
inc esi
cmp esi, 0x6d8e
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
jl 0x4263fb
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4d29
jl 0x4263f9
mov esi, dword [ebp - 0x38]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x5062
mov eax, dword [ebp - 0x14]
jl 0x4263ee
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x755e
jl 0x4263e9
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x20], 0x649c
jge 0x42647f
push 0xaa8168
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4264a8
mov dword [ebp - 0x18], 0x42c70bb7
push edi
lea ecx, [ebp - 0x130]
call fcn.00411076
mov dword [ebp - 0x18], ebx
jmp 0x4264cd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4264c0
mov dword [ebp - 0x18], ebx
jmp 0x4264eb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0x59008cf5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x4264d8
mov dword [ebp - 0x18], ebx
jmp 0x42654f
mov dword [ebp - 0x24], 0xd6f1860e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x10c]
sub eax, dword [ebp - 0x18]
sub edx, eax
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], edx
mov eax, dword [ebp - 0x18]
sub edx, eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x130]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x4264f5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x426564
call dword [0xac145c]
lea ecx, [ebp - 0x130]
call fcn.00411148
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0x34], 0
jne 0x426b42
cmp dword [ebp - 0x78], 0
jle 0x426b42
push 4
lea ecx, [ebp - 0x118]
call fcn.00411076
mov dword [ebp - 0x20], 0x59e57ad9
mov dword [ebp - 0x30], 0x5a9576c3
mov dword [ebp - 0x14], ebx
jmp 0x4265bf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], 0x4e2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4265ac
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x4265eb
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x118]
cmp dword [eax + ecx*4], 6
sete dl
mov dword [ebp - 0x30], edx
dec dword [ebp - 0x20]
jns 0x4265d1
mov dword [ebp - 0x20], ebx
jmp 0x42660e
mov dword [ebp - 0x14], ebx
jmp 0x4265ff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4265f5
mov dword [ebp - 0x80], 0xd8530de9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x4265f0
lea ecx, [ebp - 0x118]
call fcn.00411148
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
jmp 0x42663f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42662e
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 7
mov ecx, dword [ebp - 0x18]
sub ecx, eax
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0x44182bd7
setge al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
cmp dword [ebp - 0x30], eax
setl cl
cmp ecx, dword [ebp - 0xe4]
jle 0x4267cc
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 2
mov dword [ebp - 0x18], ebx
jg 0x4267c4
cmp dword [ebp - 0x18], 2
jg 0x42679f
mov dword [ebp - 0x24], 0xceffb91e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xe4]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xe4], ecx
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x426797
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x42678f
mov dword [ebp - 0x2c], 0x729a
cmp dword [ebp - 0x2c], 0x7515
jle 0x42673f
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x12ef
jl 0x426707
inc esi
cmp esi, 0x7c55
jl 0x426705
push ebx
push ebx
push 0xbac
push 0x1719
call dword [0xac1404]
xor edi, edi
inc edi
call dword [0xac12c0]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0x6ed8
jge 0x426766
push 0xaa8188
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x42678f
dec dword [ebp - 0x24]
jmp 0x4266dd
inc dword [ebp - 0x18]
jmp 0x4266b1
inc dword [ebp - 0x20]
jmp 0x4266a4
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x4267c1
push 0x15cb
push 0x1452
push ebx
call dword [0xac1454]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x4267a7
jmp 0x4267e1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x4267e1
push ebx
push 0xfdc
call dword [0xac1324]
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x24], 0xdadf8609
mov dword [ebp - 0x2c], 0xb01d976d
push 2
lea ecx, [ebp - 0x124]
call fcn.00411076
mov dword [ebp - 0x14], ebx
jmp 0x426822
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0x7854c3eb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42680f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x426838
push ebx
call dword [0xac10a0]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
sub esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edi
setl cl
xor edx, edx
cmp esi, ecx
setge dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
neg edx
add edx, edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x18]
jg 0x426882
cmp dword [ebp - 0x24], ebx
mov eax, ebx
je 0x426884
mov eax, edi
cmp eax, dword [ebp - 0x18]
jle 0x426890
cmp dword [ebp - 0x20], ebx
mov eax, edi
jne 0x426892
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, edx
sub eax, dword [ebp - 0x18]
cmp eax, 0x860b
jl 0x4268eb
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x426913
push ebx
push ebx
push 0x248f
call dword [0xac1038]
jmp 0x426913
mov dword [ebp - 0x18], ebx
jmp 0x42690e
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x42690b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x124]
cmp dword [eax + ecx*4], ebx
jne 0x42690b
dec dword [ebp - 0x20]
jns 0x4268f8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x4268f0
lea ecx, [ebp - 0x124]
call fcn.00411148
cmp dword [ebp - 0x74], 0
je 0x426b42
cmp dword [ebp - 0x78], 0
je 0x426b42
mov dword [ebp - 0x38], 0x7cd5
cmp dword [ebp - 0x38], 0x802f
jle 0x4269b3
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov edx, eax
mov ecx, esi
shl edx, cl
mov dword [ebp - 0x34], edx
mov esi, ebx
mov eax, esi
xor eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x238]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x426976
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x238]
call fcn.004116f7
inc esi
cmp esi, 0xfec
mov edx, dword [ebp - 0x34]
jl 0x42695a
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x86c
mov eax, dword [ebp - 0x24]
jl 0x42694c
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x33a4
jl 0x426947
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x38], 0x792b
jge 0x4269ce
push 0xaa8208
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4269f7
push edi
lea ecx, [ebp - 0xac]
call fcn.00411076
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x14], ebx
jmp 0x426a22
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0xcf5720e8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x426a0f
mov eax, dword [ebp - 0xac]
mov dword [eax], 0xffffffe6
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x14], ebx
jmp 0x426a4d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0x5425
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x426a3f
mov ecx, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0xac]
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xac]
inc dword [eax]
cmp dword [eax], 0xfffffffd
jne 0x426a33
lea ecx, [ebp - 0xac]
call fcn.00411148
push dword [ebp - 0x74]
push 0x526f
push edi
push 0x648f
push 0x44ea
push 0x28bb
push 0x3877
push 0x6aff
push edi
push 0x6b97
push 0x5a2e
push edi
call fcn.00423a2e
push dword [ebp - 0x74]
call fcn.00445363
add esp, 0x34
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], ebx
push 3
lea ecx, [ebp - 0x13c]
call fcn.00411076
mov dword [ebp - 0x14], ebx
jmp 0x426aec
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x426ad9
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x426b07
push ebx
push 0x2566
call dword [0xac1094]
mov dword [ebp - 0x14], 0x18
cmp dword [ebp - 0x14], 4
jle 0x426b29
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x14]
mov dword [ecx + 4], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jg 0x426b1a
lea ecx, [ebp - 0x13c]
call fcn.00411148
lea eax, [ebp - 0x4c]
push eax
call fcn.00427289
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
lea ecx, [ebp - 0x78]
call fcn.004215ad
cmp dword [ebp - 0x28], 0
jne 0x426f02
cmp dword [ebp - 0x34], 0
je 0x426f02
mov dword [ebp - 0x30], 0x43ec
cmp dword [ebp - 0x30], 0x458c
jle 0x426baa
push 0x119d
push ebx
push ebx
push 0x1103
call dword [0xac105c]
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x71ad
jl 0x426b84
inc esi
cmp esi, 0x4ed8
jl 0x426b82
xor edi, edi
inc edi
mov dword [ebp - 0x24], 0x1316
cmp dword [ebp - 0x24], 0x155f
jle 0x426c25
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov eax, edi
cdq
idiv esi
mov ebx, edx
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov eax, esi
xor eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc esi
cmp esi, 0x3240
jl 0x426bd7
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x455b
push 0
pop ebx
mov edi, dword [ebp - 0x38]
jl 0x426bc7
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x808
jl 0x426bc2
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x10be
jl 0x426bbd
xor edi, edi
inc edi
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x24], 0x12e5
jge 0x426c46
push 0xaa8290
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x426c6f
mov dword [ebp - 0x14], 0x73838a1f
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x24], 0xf845d811
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0xf82baef
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0x41fd9d08
mov dword [ebp - 0x20], 0xc022
mov dword [ebp - 0x2c], 0xd06f6293
mov dword [ebp - 0x14], ebx
jmp 0x426cc6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x174], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x426cb5
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x426d37
mov dword [ebp - 0x2c], 0xdd44ad37
mov dword [ebp - 0x2c], 0xecafe8b0
mov dword [ebp - 0x2c], 0xc657
mov dword [ebp - 0x18], ebx
jmp 0x426cfe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x426ced
mov dword [ebp - 0x18], ebx
jmp 0x426d19
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x248], 0x566a9272
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x426d08
dec dword [ebp - 0x2c]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x426d32
push ebx
call dword [0xac12d4]
dec dword [ebp - 0x14]
jns 0x426cd3
cmp dword [ebp - 0x38], ebx
je 0x426d61
cmp dword [ebp - 0x20], ebx
je 0x426d61
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov edx, edi
sub edx, eax
add edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, edi
setge cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x30], 0x435d
jge 0x426daf
push 0xaa8278
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x426dd8
push dword [ebp - 0x40]
push dword [ebp - 0x34]
call fcn.00448afc
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0x48], 0x937a3a11
mov dword [ebp - 0x14], 0xffffffff
movdqa xmm0, xmmword [0xab1cd0]
movdqu xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x190]
push eax
push ebx
lea ecx, [ebp - 0xbc]
call fcn.00414133
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], 0xd6db
mov dword [ebp - 0x34], ebx
jmp 0x426e6e
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x164], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x426e61
inc dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
jne 0x426e98
cmp dword [ebp - 0x20], ebx
mov eax, ebx
je 0x426e9a
mov eax, edi
imul eax, eax, 0x7262
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x28]
dec edx
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setl cl
mov eax, dword [ebp - 0xbc]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x14], ebx
mov eax, ebx
je 0x426ed5
mov eax, edi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x14], eax
jg 0x426ee3
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x164], ebx
lea ecx, [ebp - 0xbc]
call fcn.00411148
lea eax, [ebp - 0x60]
push eax
call fcn.00427227
mov dword [eax], esi
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0xfbe58499
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x34], 0x1791e6e4
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x34], ebx
jmp 0x426f42
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x54], 0xca29
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x426f34
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x50], ebx
jne 0x426f9c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x50]
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x28]
sub edx, 0x290e79f2
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
sub eax, 0xb969
mov ecx, edi
je 0x426f9e
mov ecx, ebx
mov eax, dword [ebp - 0x50]
add eax, ecx
jne 0x426fa8
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x50]
sub eax, edx
je 0x42702e
mov dword [ebp - 0x14], 0x300ca3c4
push 5
pop eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0x14], ebx
je 0x42700b
mov eax, dword [ebp - 0x14]
mov ecx, 0x87697ab8
cmp ecx, eax
sbb eax, eax
add eax, 0xffffc82b
sub eax, dword [ebp - 0x54]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x34], eax
jmp 0x427120
mov dword [ebp - 0x3c], 0x925f8a41
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x7e00
cmp dword [ebp - 0x30], 0x7fcb
jle 0x4270b6
push edi
push ebx
push ebx
call dword [0xac102c]
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x40], ebx
and eax, ecx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x220]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x42707c
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x220]
call fcn.004116f7
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x4abb
mov ecx, dword [ebp - 0x28]
jl 0x427060
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x343e
jl 0x42705b
inc esi
cmp esi, 0x794a
jl 0x427056
mov byte [ebp - 0x19], bl
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x30], 0x7cb1
jge 0x4270d4
push 0xaa8324
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4270fd
cmp byte [ebp - 0x19], 0
je 0x427120
push ebx
push 0x218c
push ebx
push 0x94
push 0x2167
push ebx
push 0x313
call dword [0xac12fc]
mov dword [ebp - 0x20], 0x1a
jmp 0x427153
mov dword [ebp - 0x3c], 0x3b6ac891
mov dword [ebp - 0x48], 8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x20]
je 0x427146
cmp dword [ebp - 0x18], ebx
mov eax, edi
jne 0x427148
mov eax, ebx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x2c], ebx
jne 0x427159
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff1
jne 0x427129
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xcc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret