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

Disassembly:
mov eax, 0x4affe0
call fcn.004af828
sub esp, 0x48c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x34], 0x6de7
mov dword [ebp - 0x30], 0xffffffff
push 3
lea ecx, [ebp - 0x134]
call fcn.00411076
mov dword [ebp - 0x38], 0x26d2e858
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44aeb8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44aea9
mov dword [ebp - 0x30], 0xb905
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x134]
mov dword [eax], edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x34], 0x1c
je 0x44af98
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x44af03
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x44aef6
mov dword [ebp - 0x30], 2
cmp dword [ebp - 0x30], ebx
jl 0x44af8b
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x1c], ebx
jmp 0x44af2d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74], 0xba16
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x44af1f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x44af48
push 0x2078
call dword [0xac1448]
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x74]
add eax, dword [esi + 8]
cmp eax, dword [ebp - 0x74]
jg 0x44af5d
cmp dword [ebp - 0x138], ebx
mov edx, ecx
jne 0x44af5f
mov edx, ebx
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp dword [esi + 8], eax
setl cl
mov eax, dword [ebp - 0x134]
mov dword [eax + edx*4], ecx
dec dword [ebp - 0x30]
push 1
pop ecx
jns 0x44af1a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x1c
jne 0x44aef1
lea ecx, [ebp - 0x134]
call fcn.00411148
mov dword [ebp - 0x3c], 0x7a0a
cmp dword [ebp - 0x3c], 0x7b4f
jle 0x44b017
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edi
mov ecx, esi
shl edi, cl
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x38], edi
and edi, eax
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc ebx
cmp ebx, 0x66f
jl 0x44afd1
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7f7d
push 0
pop ebx
mov edi, dword [ebp - 0x2c]
jl 0x44afc9
inc esi
cmp esi, 0x698f
mov edi, dword [ebp - 0x28]
jl 0x44afba
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x39e7
jl 0x44afb8
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x10], ebx
jne 0x44b026
xor al, al
jmp 0x44e9b4
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x3c], 0x77f0
jge 0x44b043
push 0xaabb74
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44b069
mov dword [ebp - 0x18], 0x42c70bb7
mov dword [ebp - 0x3c], 0x1f4a
cmp dword [ebp - 0x3c], 0x2057
jle 0x44b0d8
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], 0x2f13
mov eax, esi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
add esi, edi
dec dword [ebp - 0x24]
jne 0x44b097
dec edi
cmp edi, 0xffffe6fa
mov esi, dword [ebp - 0x28]
jg 0x44b08d
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x5769
push 0
pop ebx
jl 0x44b088
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x388e
jl 0x44b083
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x1ec]
call fcn.00411076
mov dword [ebp - 4], 2
cmp dword [ebp - 0x3c], 0x1d9b
jge 0x44b108
push 0xaabbb0
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44b12e
xor edx, edx
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x44b143
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x24c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x44b136
mov dword [ebp - 0x18], ebx
jmp 0x44b161
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1ec]
mov dword [eax + ecx*4], 0x59008cf5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x44b14e
mov dword [ebp - 0x18], ebx
jmp 0x44b1c5
mov dword [ebp - 0x2c], 0xd6f1860e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x24c]
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 - 0x24c]
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 - 0x24c], edx
mov eax, dword [ebp - 0x18]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1ec]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x44b16b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b1da
call dword [0xac145c]
lea ecx, [ebp - 0x1ec]
call fcn.00411148
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x144]
call fcn.00411076
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x1c], ebx
xor edx, edx
inc edx
jmp 0x44b216
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0xcf5720e8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x44b203
mov eax, dword [ebp - 0x144]
mov dword [eax], 0xffffffe6
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x1c], ebx
jmp 0x44b247
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x104], 0x5425
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x44b236
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov eax, dword [ebp - 0x144]
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x144]
inc dword [eax]
cmp dword [eax], esi
push 1
pop edx
jne 0x44b22a
lea ecx, [ebp - 0x144]
call fcn.00411148
mov dword [ebp - 0x34], ebx
push 3
lea ecx, [ebp - 0x234]
call fcn.00411076
mov dword [ebp - 0x28], 0x141f
cmp dword [ebp - 0x28], 0x154a
jle 0x44b320
push 0x1986
push 0x23e3
push 0x10a8
push 0x254a
push 0x22a7
push 0x60
push 0x23ba
call dword [0xac10ec]
mov esi, ebx
xor edi, edi
inc edi
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 0x30d3
cdq
push edx
push eax
lea ecx, [ebp - 0x3dc]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44b2f1
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3dc]
call fcn.004116f7
mov eax, dword [ebp - 0x24]
add eax, esi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x2c]
jne 0x44b2d9
inc esi
cmp esi, 0x1e1d
jl 0x44b2cd
push 0xfffffffffffffffd
pop esi
jmp 0x44b323
xor edi, edi
inc edi
mov dword [ebp - 0x1c], ebx
jmp 0x44b33b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x234]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44b328
mov dword [ebp - 4], 4
cmp dword [ebp - 0x28], 0x1385
jge 0x44b35c
push 0xaabc38
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44b388
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b39d
push ebx
push 0x2566
call dword [0xac1094]
mov dword [ebp - 0x34], 0x18
cmp dword [ebp - 0x34], 4
jle 0x44b3bf
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x34]
mov dword [ecx + 4], eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jg 0x44b3b0
lea ecx, [ebp - 0x234]
call fcn.00411148
mov dword [ebp - 0x30], 0xfffffffb
push edi
lea ecx, [ebp - 0x21c]
call fcn.00411076
mov dword [ebp - 0x34], 0x73838a1f
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], 0xf845d811
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], 0xf82baef
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x4c], 0x41fd9d08
mov dword [ebp - 0x48], 0xc022
mov dword [ebp - 0x24], 0xd06f6293
mov dword [ebp - 0x1c], ebx
xor ecx, ecx
inc ecx
jmp 0x44b437
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x44b426
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x44b4ab
mov dword [ebp - 0x44], 0xdd44ad37
mov dword [ebp - 0x44], 0xecafe8b0
mov dword [ebp - 0x24], 0xc657
mov dword [ebp - 0x18], ebx
jmp 0x44b46f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x94], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x44b45e
mov dword [ebp - 0x18], ebx
jmp 0x44b48a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x488], 0x566a9272
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x44b479
dec dword [ebp - 0x24]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b4a6
push ebx
call dword [0xac12d4]
xor ecx, ecx
inc ecx
dec dword [ebp - 0x34]
jns 0x44b444
cmp dword [ebp - 0x3c], ebx
je 0x44b4d5
cmp dword [ebp - 0x48], ebx
je 0x44b4d5
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov edx, ecx
sub edx, eax
add edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
xor edi, edi
inc edi
cmp eax, edi
setge cl
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], 0x1bb35b68
mov dword [ebp - 0x4c], 0x937a3a11
mov dword [ebp - 0x34], 0xffffffff
movdqa xmm0, xmmword [0xab1cd0]
movdqu xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x308]
push eax
push ebx
lea ecx, [ebp - 0x128]
call fcn.00414133
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], 0xd6db
mov dword [ebp - 0x28], 0x3bd9
cmp dword [ebp - 0x28], 0x3f88
jle 0x44b5d9
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
add eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x430]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44b5ab
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x430]
call fcn.004116f7
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0xed6
jl 0x44b591
inc esi
cmp esi, 0x591
jl 0x44b58c
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x395a
jge 0x44b5f4
push 0xaabca0
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44b61d
mov dword [ebp - 0x24], 0x2fc6
cmp dword [ebp - 0x24], 0x2ffa
jle 0x44b65c
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x50f1
jl 0x44b631
inc esi
cmp esi, 0x644d
jl 0x44b62f
call dword [0xac1240]
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 4], 8
cmp dword [ebp - 0x24], 0x2ce2
jge 0x44b67d
push 0xaabd20
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44b6a6
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x44b6bb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2c8], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44b6ae
inc dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg eax
jne 0x44b6ea
cmp dword [ebp - 0x3c], ebx
jne 0x44b6ea
mov eax, ebx
xor edi, edi
inc edi
jmp 0x44b6ef
xor edi, edi
inc edi
mov eax, edi
imul eax, eax, 0x7262
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp eax, edx
setl cl
mov eax, dword [ebp - 0x128]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x34], ebx
jne 0x44b728
mov edi, ebx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x34], eax
jg 0x44b736
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c8], ebx
lea ecx, [ebp - 0x128]
call fcn.00411148
mov dword [ebp - 0x38], ebx
push 2
lea ecx, [ebp - 0x2b0]
call fcn.00411076
mov dword [ebp - 0x28], 0xaabecba2
mov dword [ebp - 0x1c], ebx
jmp 0x44b779
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2b0]
mov dword [eax + ecx*4], 0x13dd33a4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44b766
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jl 0x44b7b2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x44b7a8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b7a5
push ebx
call dword [0xac13ac]
xor eax, eax
inc eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x44b792
dec dword [ebp - 0x28]
jns 0x44b78a
lea ecx, [ebp - 0x2b0]
call fcn.00411148
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x30], 2
movdqa xmm0, xmmword [0xab1cc0]
movdqu xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
push dword [ebp - 0x94]
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x2e8]
push eax
push ebx
lea ecx, [ebp - 0x164]
call fcn.00414133
mov dword [ebp - 0x38], 0x643b8a27
mov dword [ebp - 0x28], 0x4dde9ab
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0x6243a5d8
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x2c], 0x6a25a955
mov dword [ebp - 0x4c], 0x7d93cbfb
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
xor edx, edx
inc edx
mov ecx, edx
sub ecx, eax
xor eax, eax
cmp ecx, 0x42c7
setge al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jne 0x44b895
cmp dword [ebp - 0x3c], ebx
mov esi, ebx
je 0x44b897
mov esi, edx
mov eax, dword [ebp - 0x3c]
sub esi, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, esi
setge cl
cmp ecx, 0x158fb5c4
jge 0x44b8b5
cmp dword [ebp - 0x30], ebx
jne 0x44b8b5
mov edx, ebx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setl dl
cmp dword [ebp - 0x3c], edx
jne 0x44b8d4
cmp dword [ebp - 0x1c], ebx
je 0x44b8d4
xor edi, edi
inc edi
jmp 0x44b8d6
mov edi, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, edi
setne cl
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0xe214356e
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x164]
call fcn.00411148
lea edx, [ebp - 0x21c]
lea ecx, [ebp - 0x11c]
call fcn.00448ee9
xor edx, edx
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], 0x86aeba4d
mov dword [ebp - 0x38], 0xb26d5d64
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jne 0x44b934
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], ebx
je 0x44b972
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp eax, ecx
setle dl
push 0xfffffffffffffffd
pop esi
cmp esi, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
jmp 0x44b987
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b98a
push edx
push 0x2189
call dword [0xac1444]
xor edx, edx
inc edx
mov dword [ebp - 0x2c], 0xff18c9a0
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], 0xeaf6082f
mov dword [ebp - 0x274], 0xffffffff
mov dword [ebp - 0x270], 0xffffffff
mov dword [ebp - 0x26c], 0xffffffff
mov dword [ebp - 0x268], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x44b9e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc4], 0x409884cb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x44b9cf
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44b9f8
call dword [0xac1478]
xor edx, edx
inc edx
cmp dword [ebp - 0xbc], ebx
je 0x44ba3d
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
mov ecx, edx
jne 0x44ba1e
mov ecx, ebx
mov eax, dword [ebp - 0xbc]
sub eax, ecx
je 0x44ba2f
cmp dword [ebp - 0x34], ebx
mov ecx, edx
jne 0x44ba31
mov ecx, ebx
mov eax, dword [ebp - 0xbc]
add eax, ecx
mov ecx, edx
jne 0x44ba3f
mov ecx, ebx
mov eax, dword [ebp - 0xbc]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0x34]
jg 0x44ba85
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 1
setl cl
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0xb
jg 0x44c161
mov dword [ebp - 0x18], 1
movdqa xmm0, xmmword [0xab1c90]
movdqu xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
push dword [ebp - 0x11c]
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x2f8]
push eax
push ebx
lea ecx, [ebp - 0x150]
call fcn.00414133
mov dword [ebp - 0x1c], ebx
jmp 0x44bb08
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x318], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x44baf7
mov dword [ebp - 0x18], ebx
xor edi, edi
inc edi
cmp dword [ebp - 0x18], 3
jg 0x44bcac
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jne 0x44bcac
mov dword [ebp - 0x34], 3
cmp dword [ebp - 0x34], ebx
jl 0x44bc24
push 3
lea ecx, [ebp - 0x194]
call fcn.00411076
mov dword [ebp - 0x1c], ebx
jmp 0x44bb5f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44bb4c
mov dword [ebp - 0x24], 0x5f1d
cmp dword [ebp - 0x24], 0x601e
jle 0x44bc0e
push 0x2105
push ebx
push 0x13a5
push ebx
push 0x203d
push 0x2624
call dword [0xac1224]
mov dword [ebp - 0x3c], ebx
mov edx, ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov eax, esi
xor eax, ecx
xor eax, edx
xor eax, dword [ebp - 0x3c]
cdq
push edx
push eax
lea ecx, [ebp - 0x37c]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44bbc5
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x37c]
call fcn.004116f7
inc esi
cmp esi, 0x7e8e
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
jl 0x44bba4
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x2d6f
jl 0x44bba2
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x7020
jl 0x44bb9d
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, 0x2dcb
jl 0x44bb98
mov eax, dword [ebp - 0x150]
cmp dword [eax + 8], ebx
je 0x44bc2c
lea ecx, [ebp - 0x194]
call fcn.00411148
inc dword [ebp - 0x18]
jmp 0x44bb14
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x24], 0x5dac
jge 0x44bc47
push 0xaabd48
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44bc73
mov edx, dword [ebp - 0x194]
mov dword [edx + 4], 3
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x318]
mov eax, dword [edx + 4]
mov dword [ebp + eax*4 - 0x318], ecx
dec dword [edx + 4]
jns 0x44bc80
lea ecx, [ebp - 0x194]
call fcn.00411148
dec dword [ebp - 0x34]
jmp 0x44bb31
lea ecx, [ebp - 0x150]
call fcn.00411148
mov dword [ebp - 0x28], 0xfffffffb
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x4c], 0x9a53aa48
mov dword [ebp - 0x44], 0x5590
mov dword [ebp - 0x3c], 0x285828e8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], ebx
jmp 0x44bcf5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44bceb
mov dword [ebp - 0x18], ebx
jmp 0x44bd11
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a0], 0xbac89d73
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x44bd00
cmp dword [ebp - 0x54], ebx
jne 0x44bd50
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp eax, 0x457023
setge cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x24]
jne 0x44bd50
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
inc dword [ebp - 0x20]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x58]
sub ecx, eax
mov edx, dword [ebp - 0x58]
imul edx, ecx
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x54]
jne 0x44bd93
cmp dword [ebp - 0x54], ebx
jne 0x44bd93
mov edi, ebx
jmp 0x44bd96
xor edi, edi
inc edi
xor eax, eax
cmp edi, 0xe8e6
setne al
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x20], ebx
jmp 0x44be82
mov dword [ebp - 0x44], 0xe945d447
mov dword [ebp - 0x44], 0x3b3333db
push 4
lea ecx, [ebp - 0x204]
call fcn.00411076
mov dword [ebp - 0x44], 0xb350b837
mov dword [ebp - 0x2c], 0x176c5b50
mov dword [ebp - 0x18], ebx
jmp 0x44bded
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x204]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x44bdda
mov dword [ebp - 0x18], ebx
jmp 0x44be05
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x158], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44bdf8
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1a0], ecx
xor eax, eax
test ecx, ecx
setne al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x158]
neg edx
sbb edx, edx
neg edx
inc dword [ebp - 0x3c]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x158]
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
cmp ecx, 0x6281
setg dl
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
cmp dword [ebp - 0x38], ecx
sete al
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x204]
cmp dword [ebp - 0x4c], ebx
call fcn.00411148
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x44bdac
imul ecx, dword [ebp - 0x28], 0xfff9
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp eax, ecx
setg dl
mov ecx, dword [ebp - 0x21c]
imul edx, dword [ecx]
xor eax, eax
cmp edx, 0x8e2
setge al
add eax, 0xbb489f7a
mov dword [ecx], eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp eax, ecx
setge dl
imul ecx, edx, 0x6353
sub ecx, 0x507a
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 0x857497f3
setne dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setg cl
imul edx, ecx, 0xf1d4
sub edx, 0x2b00
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
push 2
lea ecx, [ebp - 0x29c]
call fcn.00411076
xor edx, edx
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x38], 0x21aa2910
mov dword [ebp - 0x18], ebx
jmp 0x44bf61
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x29c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44bf52
mov dword [ebp - 0x18], ebx
jmp 0x44bf79
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x44bf6c
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], ebx
jl 0x44bfc2
mov dword [ebp - 0x1c], ebx
jmp 0x44bf9c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x44bf8b
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov ecx, edx
sub ecx, eax
add ecx, dword [ebp - 0x10c]
jne 0x44bfb6
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], 0x9f21c9b6
dec dword [ebp - 0x34]
jns 0x44bf86
lea ecx, [ebp - 0x29c]
call fcn.00411148
mov byte [ebp - 0x63], bl
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x240]
call fcn.00411076
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x6d7d
cmp dword [ebp - 0x28], 0x6e2c
jle 0x44c04e
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], 0x5c04
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, 0xe3
jl 0x44c007
dec esi
dec dword [ebp - 0x24]
jne 0x44c005
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x344c
jl 0x44bffb
push ebx
push 0x354
push 0x1cbc
push 0x1c4f
call dword [0xac10f0]
mov dword [ebp - 0x3c], 0xae649f6d
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x28], 0x6b03
jge 0x44c076
push 0xaabdc0
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c09f
xor edx, edx
inc edx
mov dword [ebp - 0x4c], 0x14ad38dc
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x1c], ebx
jmp 0x44c0c8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x240]
mov dword [eax + ecx*4], 0x862f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x44c0b5
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x44c146
mov dword [ebp - 0x2c], 0x1e3ff14e
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], 0xffff
mov dword [ebp - 0x24], 0xe856dfc9
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x240]
cmp dword [eax + ecx*4], ebx
jne 0x44c133
mov eax, dword [ebp - 0x34]
mov ecx, 0xb2c41ac3
cmp ecx, eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp eax, 5
setle cl
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jne 0x44c11f
cmp dword [ebp - 0x38], ebx
mov ecx, ebx
je 0x44c121
mov ecx, edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
test eax, eax
setns cl
dec ecx
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x34]
jns 0x44c0d5
lea ecx, [ebp - 0x240]
call fcn.00411148
lea ecx, [ebp - 0x63]
call fcn.004495d8
inc dword [ebp - 0x30]
jmp 0x44ba9f
lea ecx, [ebp - 0x21c]
call fcn.00411148
push 4
lea ecx, [ebp - 0x1d4]
call fcn.00411076
mov dword [ebp - 0x18], 0x59e57ad9
mov dword [ebp - 0x38], 0x5a9576c3
mov dword [ebp - 0x1c], ebx
jmp 0x44c19f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1d4]
mov dword [eax + ecx*4], 0x4e2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x44c18c
mov dword [ebp - 0x2c], 0x7bc3
cmp dword [ebp - 0x2c], 0x7e39
jle 0x44c1fb
push 0x22ca
call dword [0xac12dc]
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0x109a
mov eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
add ebx, esi
dec dword [ebp - 0x24]
jne 0x44c1ce
inc esi
cmp esi, 0x4a8f
push 0
pop ebx
jl 0x44c1c4
inc edi
cmp edi, 0x2788
jl 0x44c1c2
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x44c221
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1d4]
cmp dword [eax + ecx*4], 6
sete dl
mov dword [ebp - 0x38], edx
dec dword [ebp - 0x18]
jns 0x44c207
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x2c], 0x794b
jge 0x44c242
push 0xaabe60
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c26b
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x44c297
mov dword [ebp - 0x1c], ebx
jmp 0x44c285
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x108], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x44c278
mov dword [ebp - 0x108], 0xd8530de9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x44c273
lea ecx, [ebp - 0x1d4]
call fcn.00411148
mov eax, dword [ebp - 0x78]
mov dword [eax], ebx
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44c2cd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x44c2bc
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setne cl
imul eax, ecx, 7
mov ecx, dword [ebp - 0x20]
sub ecx, eax
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0x44182bd7
setge al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x188]
xor ecx, ecx
cmp dword [ebp - 0x38], eax
setl cl
cmp ecx, dword [ebp - 0x188]
jle 0x44c476
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 2
mov dword [ebp - 0x20], ebx
jg 0x44c46e
cmp dword [ebp - 0x20], 2
jg 0x44c449
mov dword [ebp - 0x28], 0xceffb91e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + eax*4 - 0x188]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x188], ecx
mov dword [ebp - 0x3c], 0x16c6
cmp dword [ebp - 0x3c], 0x17bd
jle 0x44c3d7
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
cdq
idiv edi
mov edi, edx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, esi
and ecx, edi
mov dword [ebp - 0x38], ecx
xor eax, ecx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x4c64
mov ecx, dword [ebp - 0x38]
jl 0x44c391
inc esi
cmp esi, 0x5502
jl 0x44c385
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x189c
mov eax, dword [ebp - 0x2c]
jl 0x44c37e
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x833
jl 0x44c379
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ebx
jl 0x44c3f7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c3f2
call dword [0xac12c0]
dec dword [ebp - 0x28]
jns 0x44c3e3
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x3c], 0x13cc
jge 0x44c418
push 0xaabed0
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c441
inc dword [ebp - 0x20]
jmp 0x44c33f
inc dword [ebp - 0x30]
jmp 0x44c332
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c46b
push 0x15cb
push 0x1452
push ebx
call dword [0xac1454]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x44c451
jmp 0x44c48b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c48b
push ebx
push 0xfdc
call dword [0xac1324]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0xdfe9f486
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c568
mov dword [ebp - 0x24], 0x5b2c
cmp dword [ebp - 0x24], 0x5d8f
jle 0x44c510
push ebx
call dword [0xac121c]
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x2c]
mov eax, ebx
cdq
idiv esi
lea edi, [ecx + edx]
mov ebx, 0x2ed8
mov eax, edi
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
dec ebx
jne 0x44c4d3
inc esi
cmp esi, 0x20ca
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
jl 0x44c4c6
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, 0x5f08
push 0
pop ebx
jl 0x44c4c1
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0xacc
jl 0x44c4be
push ebx
push 0x25b2
push ebx
push ebx
call dword [0xac131c]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x24], 0x5842
jge 0x44c53f
push 0xaabef0
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c568
mov dword [ebp - 0x18], 0xfffffff2
xor eax, eax
inc eax
cmp dword [ebp - 0x18], 0xfffffffe
jl 0x44c84f
mov dword [ebp - 0x30], 0xaa9ac70c
mov dword [ebp - 0x24], 0xb95520f3
mov dword [ebp - 0x24], 0xac5
cmp dword [ebp - 0x24], 0xb2e
jle 0x44c5ef
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
xor edi, edi
inc edi
mov esi, ebx
mov eax, esi
or eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x3ac]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44c5c0
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3ac]
call fcn.004116f7
inc esi
cmp esi, 0x5ed7
mov ecx, dword [ebp - 0x2c]
jl 0x44c5a4
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x5a1b
jl 0x44c5a2
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x24], 0xa58
jge 0x44c60d
push 0xaabf78
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c636
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x44c64f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x34c], 0xf93bd5de
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x44c63e
mov dword [ebp - 0x30], ebx
xor edi, edi
inc edi
cmp dword [ebp - 0x30], 0xffffffe6
jg 0x44c847
push 2
lea ecx, [ebp - 0x170]
call fcn.00411076
mov dword [ebp - 0x1c], ebx
jmp 0x44c68a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44c677
mov eax, dword [ebp - 0x170]
add eax, 4
mov dword [eax], ebx
cmp dword [eax], 0x15
jge 0x44c834
mov dword [ebp - 0x28], 0xd96711db
mov dword [ebp - 0x3c], 0x1cb64b69
mov dword [ebp - 0x48], 0x2837
cmp dword [ebp - 0x48], 0x291d
jle 0x44c72b
push ebx
push ebx
call dword [0xac1244]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x78e1
cdq
push edx
push eax
lea ecx, [ebp - 0x394]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44c6f3
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x394]
call fcn.004116f7
mov eax, dword [ebp - 0x24]
add eax, esi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x28]
jne 0x44c6db
dec esi
cmp esi, 0xffff9371
mov eax, dword [ebp - 0x2c]
jg 0x44c6d1
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5f0a
jl 0x44c6cf
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c746
push 0x623
push ebx
push ebx
push 0xd9c
call dword [0xac1470]
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x48], 0x2478
jge 0x44c761
push 0xaabfd0
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c78a
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], ebx
je 0x44c7a3
cmp dword [ebp - 0x30], ebx
jne 0x44c7a6
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x170]
add esi, 4
mov dword [ebp - 0x4c], esi
mov esi, dword [esi]
mov dword [ebp - 0x348], esi
xor eax, eax
cmp esi, edx
setg al
xor ecx, ecx
cmp esi, eax
setl cl
xor eax, eax
cmp ecx, edx
setl al
imul edx, eax, 0xf7c2
add edx, esi
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp eax, ecx
setg dl
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], ebx
jne 0x44c808
cmp dword [ebp - 0x30], ebx
jne 0x44c808
mov edx, ebx
xor edi, edi
inc edi
jmp 0x44c80d
xor edi, edi
inc edi
mov edx, edi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp eax, ecx
setg dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x4c]
inc dword [eax]
jmp 0x44c69b
lea ecx, [ebp - 0x170]
call fcn.00411148
dec dword [ebp - 0x30]
jmp 0x44c65b
inc dword [ebp - 0x18]
jmp 0x44c56f
mov dword [ebp - 0x20], 0xc2a2
mov dword [ebp - 0x30], 0x6b950ba1
mov dword [ebp - 0x18], 0x87f6fb80
push 2
lea ecx, [ebp - 0xb4]
call fcn.00411076
push 3
lea ecx, [ebp - 0x1e0]
call fcn.00411076
mov dword [ebp - 0x18], ebx
jmp 0x44c896
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44c883
mov dword [ebp - 0x48], 0x1511
xor edi, edi
inc edi
cmp dword [ebp - 0x48], 0x1833
jle 0x44c92c
mov ecx, ebx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x1a7
mov esi, ebx
mov dword [ebp - 0x24], 0x4c27
mov eax, ecx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x3c4]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44c8e6
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3c4]
call fcn.004116f7
mov eax, dword [ebp - 0x2c]
add esi, eax
dec dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
jne 0x44c8ca
mov esi, dword [ebp - 0x3c]
add eax, esi
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x28]
jne 0x44c8c1
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x30ff
jl 0x44c8b7
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xb9b
jl 0x44c8b4
mov dword [ebp - 0x18], ebx
jmp 0x44c940
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1e0]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x44c931
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x48], 0x122a
jge 0x44c961
push 0xaabff8
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44c98a
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jne 0x44c99f
cmp dword [ebp - 0x20], ebx
mov esi, ebx
je 0x44c9a1
mov esi, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp esi, ecx
setle al
sub eax, 0x6ec6
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
je 0x44cb43
mov dword [ebp - 0x24], 0x5c124380
mov dword [ebp - 0x2c], 0x46bac609
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44c9f3
call dword [0xac12c8]
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jl 0x44cba3
mov esi, dword [ebp - 0x1e0]
mov dword [ebp - 0x28], esi
jmp 0x44ca10
xor eax, eax
inc eax
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x38], 0x7a2d47e1
mov dword [ebp - 0x30], ebx
jmp 0x44ca51
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jl 0x44ca4e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44ca46
push ebx
push ebx
push 0x856
push 0x8de
call dword [0xac146c]
dec dword [ebp - 0x18]
jns 0x44ca2b
xor eax, eax
inc eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x44ca23
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, dword [esi + 8]
setg cl
mov eax, dword [ebp - 0xb4]
sub ecx, dword [eax + edx*4]
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x24]
inc eax
xor ecx, ecx
cmp eax, dword [edx + esi*4]
setge cl
xor eax, eax
cmp ecx, 0x14b4
setg al
xor edx, edx
cmp eax, 0xe7c650ba
setne dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0xb4]
cmp ecx, dword [eax + edi*4]
mov ecx, dword [ebp - 0x28]
jle 0x44cac1
cmp dword [ecx + 8], ebx
je 0x44cac1
mov eax, ebx
xor edi, edi
inc edi
jmp 0x44cac6
xor edi, edi
inc edi
mov eax, edi
xor edx, edx
cmp eax, 0xffffffff
setne dl
sub edx, dword [ecx + 4]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0xfffffff7
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 0x20]
imul edx, eax, 0xfe86
sub edx, 0x5da1
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0xb4]
add edx, dword [eax + ecx*4]
jne 0x44cb09
cmp dword [ebp - 0x2c], ebx
mov edx, ebx
je 0x44cb0b
mov edx, edi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp dword [edx + esi*4], eax
setne cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
jns 0x44ca0d
jmp 0x44cba6
mov dword [ebp - 0x38], 0xffff
movdqa xmm0, xmmword [0xab1ce0]
movdqu xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
push dword [ebp - 0x98]
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x328]
push eax
push ebx
lea ecx, [ebp - 0x118]
call fcn.00414133
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x118]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x118]
call fcn.00411148
xor edi, edi
inc edi
lea ecx, [ebp - 0x1e0]
call fcn.00411148
lea ecx, [ebp - 0xb4]
call fcn.00411148
mov dword [ebp - 0x40], 0x1928c176
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44cdbe
mov dword [ebp - 0x4c], 0x6fe23a26
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x3c], 0x4fa7
push edi
lea ecx, [ebp - 0x1f8]
call fcn.00411076
mov dword [ebp - 0x28], 0x17cc
cmp dword [ebp - 0x28], 0x1acf
jle 0x44cc5c
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x38], eax
mov edi, ebx
mov ebx, dword [ebp - 0x38]
mov eax, esi
mov ecx, edi
sar eax, cl
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc edi
cmp edi, 0x35d5
jl 0x44cc15
inc esi
cmp esi, 0x2828
push 0
pop ebx
jl 0x44cc10
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x5046
mov eax, dword [ebp - 0x2c]
jl 0x44cc07
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x4640
jl 0x44cc02
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x28], 0x15cf
jge 0x44cc7d
push 0xaac084
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44cca6
xor edx, edx
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x44ccbc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x70], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44ccae
mov dword [ebp - 0x18], ebx
jmp 0x44ccda
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1f8]
mov dword [eax + ecx*4], 0x3a6d7d04
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x44ccc7
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
sbb eax, eax
neg eax
cmp eax, 4
jne 0x44cd06
cmp dword [ebp - 0x18], ebx
jne 0x44cd09
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, 0x50fa
setle cl
mov eax, dword [ebp - 0x70]
xor edx, edx
cmp eax, ecx
setle dl
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x6c]
imul edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp edx, eax
setle cl
dec ecx
mov eax, dword [ebp - 0x1f8]
mov dword [eax], ecx
je 0x44cd64
mov dword [ebp - 0x38], 0x5123020f
mov eax, dword [ebp - 0x38]
add eax, 0x1c8
mov dword [ebp - 0x18], eax
jmp 0x44cd7d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44cd7d
push ebx
push 0x1580
push ebx
push ebx
push ebx
push ebx
call dword [0xac1308]
mov dword [ebp - 0x18], ebx
jmp 0x44cda2
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44cd9f
push ebx
push 0x237
push ebx
push ebx
push 0x128e
push ebx
call dword [0xac12bc]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x12
jge 0x44cd82
lea ecx, [ebp - 0x1f8]
call fcn.00411148
push ebx
push ebx
call dword [0xac1320]
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0xd0]
call fcn.00411076
mov dword [ebp - 0x28], 0x874da862
push 3
lea ecx, [ebp - 0x210]
call fcn.00411076
mov dword [ebp - 0x2c], 0x2cf3e4c9
mov dword [ebp - 0x24], 0x6074
cmp dword [ebp - 0x24], 0x6282
jle 0x44ce47
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
add eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00401c4d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x44ce16
mov eax, dword [eax]
push eax
call fcn.00496907
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x3f4]
call fcn.004116f7
inc esi
cmp esi, 0xe59
mov eax, dword [ebp - 0x2c]
jl 0x44cdfc
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x466
jl 0x44cdfa
call dword [0xac120c]
mov dword [ebp - 0x2c], 0xfce24956
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x24], 0x5c94
jge 0x44ce69
push 0xaac0c8
call fcn.00496907
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44ce8f
push 0xfffffffffffffffd
xor edx, edx
pop esi
inc edx
mov dword [ebp - 0x20], ebx
jmp 0x44cea7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x334], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x44ce9a
mov dword [ebp - 0x20], ebx
jmp 0x44cec5
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x44ceb2
mov dword [ebp - 0x20], ebx
jmp 0x44cee2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x210]
mov dword [eax + ecx*4], 0x4a08
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x44cecf
mov eax, dword [ebp - 0xd0]
mov dword [eax], 2
cmp dword [eax], ebx
jl 0x44d0cf
mov dword [ebp - 0x30], 0x9609c3fb
mov dword [ebp - 0x24], 0x91509cf1
mov dword [ebp - 0x28], 0x6c9cd49f
mov dword [ebp - 0x48], 0x8fb0b4
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x3c], 0x82e7
inc dword [ebp - 0x30]
mov dword [ebp - 0x50], 0xb3b
cmp dword [ebp - 0x50], 0xc11
jle 0x44cf88
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x38], edi
mov ecx, esi
shl edi, cl
mov esi, ebx
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xabdd58
call fcn.00410d32
inc esi
cmp esi, 0x717d
jl 0x44cf4b
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x8b8
mov edi, dword [ebp - 0x2c]
jl 0x44cf3f
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x4481
jl 0x44cf3a
xor edx, edx
inc edx
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 2
jg 0x44d075
mov esi, dword [ebp - 0x210]
mov dword [ebp - 0x24], 0x12d2c87a
mov dword [ebp - 0x24], 0x2758e92e
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x334], ebx
jne 0x44cfda
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x3c]
mov ecx, ebx
jmp 0x44cfdc
mov ecx, edx
xor eax, eax
cmp ecx, 0xfffffffb
setne al
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
imul eax, dword [esi + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
or ecx, 0xffffffff
sub ecx, dword [esi + 4]
mov eax, dword [ebp - 0x28]
sub ecx, eax
xor eax, eax
cmp ecx, 5
setne al
xor ecx, ecx
cmp eax, dword [esi + 4]
setle cl
mov eax, 0xfff7
cmp eax, ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x3c]
sub ecx, eax
jne 0x44d04e
mov eax, dword [ebp - 0xd0]
cmp dword [eax], ebx
mov ecx, edx
je 0x44d050
mov ecx, ebx
mov eax, dword [ebp - 0x48]
imul eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x44cf9b
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x50], 0xaaa
jge 0x44d096
push 0xaac0fc
push 0xabdd58
call fcn.00413ac6
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x44d0bc
push 0xfffffffffffffffd
xor edx, edx
pop esi
inc edx
mov eax, dword [ebp - 0xd0]
dec dword [eax]
jmp 0x44cef4
lea ecx, [ebp - 0x210]
call fcn.00411148
lea ecx, [ebp - 0xd0]
call fcn.00411148
mov dword [ebp - 0x40], ebx
jmp 0x44d465
mov dword [ebp - 0x34], 0x25d16df2
mov dword [ebp - 0x38], 0x288a137b
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x2c0]
call fcn.00411076
mov dword [ebp - 0x1c], ebx
xor edx, edx
inc edx
jmp 0x44d121
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c0]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x44d112
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], ebx
jl 0x44d148
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44d143
call dword [0xac1478]
dec dword [ebp - 0x34]
jns 0x44d134
lea ecx, [ebp - 0x2c0]
call fcn.00411148
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x30], ebx
jmp 0x44d458
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x44], 0xd3f7
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x34], ebx
xor esi, esi
inc esi
cmp dword [ebp - 0x34], 0x18
jle 0x44d1db
mov dword [ebp - 0x28], 0x1738ab65
mov dword [ebp - 0x1c], ebx
jmp 0x44d1a0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x354], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x44d18f
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], ebx
jl 0x44d1d6
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44d1d1
inc dword [ebp - 0x34]
jmp 0x44d17d
mov byte [ebp - 0x61], bl
mov dword [ebp - 0x20], 3
push 3
lea ecx, [ebp - 0xa8]
call fcn.00411076
mov dword [ebp - 0x2c], 0xa1ede5a1
push 2
lea ecx, [ebp - 0x17c]
call fcn.00411076
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x4c], 0xaed5a0a0
mov dword [ebp - 0x18], ebx
jmp 0x44d228
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x44d219
mov dword [ebp - 0x18], ebx
jmp 0x44d246
cmp dword [ebp - 0x18], 2
jl 0x44d233
cmp dword [ebp - 0x30], 0xffffffe4
jl 0x44d162
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffffa
jne 0x44d0ed
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], 0xdadf8609
mov dword [ebp - 0x24], 0xb01d976d
push 2
lea ecx, [ebp - 0x228]
call fcn.00411076
mov dword [ebp - 0x40], ebx
jmp 0x44d4b0
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x228]
mov dword [eax + ecx*4], 0x7854c3eb
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 2
jl 0x44d49d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x44d4c6
push ebx
call dword [0xac10a0]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
sub esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
xor edi, edi
inc edi
cmp eax, edi
setl cl
xor edx, edx
cmp esi, ecx
setge dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
neg edx
add edx, edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x20]
jg 0x44d515
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret