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

Disassembly:
mov eax, 0x4c24af
call fcn.004c11b8
sub esp, 0x434
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x3c], 0x228e
xor ebx, ebx
cmp dword [ebp - 0x3c], 0x23e9
jle 0x4a665a
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov eax, ebx
xor eax, edi
or eax, esi
cdq
push edx
push eax
mov ecx, 0xab2098
call fcn.00408fd3
inc ebx
cmp ebx, 0x3350
jl 0x4a661d
inc edi
cmp edi, 0x2454
push 0
pop ebx
jl 0x4a661a
inc esi
cmp esi, 0x340c
jl 0x4a6618
push ebx
push 0xcee
call dword [0xab54d8]
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x3c], 0x1f68
jge 0x4a667c
mov edx, 0xaa05c0
mov ecx, 0xab2098
call fcn.0040b859
or dword [ebp - 4], 0xffffffff
jmp 0x4a66a2
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0xe0]
call fcn.004091fb
mov dword [ebp - 0x3c], 0x31cd1ac8
push esi
lea ecx, [ebp - 0x154]
call fcn.004091fb
mov dword [ebp - 0x20], 0x7d239f94
mov eax, 0x6042c8cd
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x14], ebx
jmp 0x4a6700
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x69c93e32
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4a66ed
mov dword [ebp - 0x14], ebx
jmp 0x4a671d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], 0xd1a0c8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4a670a
mov dword [ebp - 0x14], ebx
jmp 0x4a6734
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2cc], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4a6727
mov dword [ebp - 0x1c], ebx
push 2
pop edi
cmp dword [ebp - 0x1c], 0xffffffee
jne 0x4a6916
mov dword [ebp - 0x20], 0x6173
mov dword [ebp - 0x38], 0xe6b93388
movdqa xmm0, xmmword [0xaa0ae0]
movdqu xmmword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x2a8]
push eax
push ebx
lea ecx, [ebp - 0x9c]
call fcn.0040c24f
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x3c], 0x360abed9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a67b1
push ebx
call dword [0xab54ec]
mov dword [ebp - 0x28], 0x47c2
cmp dword [ebp - 0x28], 0x4b55
jle 0x4a6814
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x19ed
cdq
push edx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a67e7
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x3f8]
call fcn.004097a9
mov eax, dword [ebp - 0x3c]
add eax, edi
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x30]
jne 0x4a67cf
inc edi
cmp edi, 0x6a09
jl 0x4a67c3
push 2
pop edi
cmp dword [ebp - 0x1c], ebx
jne 0x4a6870
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov ecx, 0x3cf68729
sub ecx, eax
mov eax, dword [ebp - 0x9c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe0]
cmp dword [eax], ebx
je 0x4a6856
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x1c], eax
jne 0x4a6865
cmp dword [ebp - 0x1c], ebx
mov eax, ebx
je 0x4a6867
mov eax, esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 4]
xor edx, edx
mov eax, dword [ebp - 0x154]
cmp ecx, dword [eax]
setl dl
mov eax, dword [ebp - 0x2c]
add eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub eax, 0x75f07c6d
cmp eax, 0xf390197f
jbe 0x4a68b8
mov eax, dword [ebp - 0xe0]
cmp dword [eax], ebx
mov eax, esi
jne 0x4a68ba
mov eax, ebx
mov dword [ebp - 0x188], eax
mov dword [ebp - 4], edi
cmp dword [ebp - 0x28], 0x446a
jge 0x4a68d7
push 0xaa0620
call fcn.004aba17
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a6903
lea ecx, [ebp - 0x9c]
call fcn.004092cd
dec dword [ebp - 0x1c]
jmp 0x4a6740
cmp dword [ebp - 0x1c], ebx
mov edi, ebx
je 0x4a691f
mov edi, esi
mov ecx, dword [ebp - 0x17c]
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x154]
cmp dword [eax], ecx
sete dl
mov eax, dword [ebp - 0x2cc]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp edi, ecx
setg al
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x154]
call fcn.004092cd
lea ecx, [ebp - 0xe0]
call fcn.004092cd
mov eax, dword [0xab3384]
test al, 1
jne 0x4a69e8
or eax, esi
mov dword [0xab3384], eax
mov dword [0xab33b0], ebx
mov dword [0xab33b4], ebx
push ebx
push ebx
call fcn.0040b758
mov dword [0xab33b0], eax
mov dword [0xab33b8], ebx
mov dword [0xab33c0], ebx
mov dword [0xab33cc], 0x3f800000
mov dword [ebp - 0xd4], eax
mov dword [0xab33bc], ebx
lea eax, [ebp - 0xd4]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x220]
push eax
mov ecx, 0xab33b8
call fcn.0040b4fd
mov dword [0xab33c4], 7
mov dword [0xab33c8], 8
push 0x4c2736
call fcn.004ab9ed
pop ecx
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x40], 0x50dfa014
mov dword [ebp - 0x38], 0x2b59
cmp dword [ebp - 0x38], 0x2d3f
jle 0x4a6a99
push ebx
push ebx
push 0x23dd
push 0xc40
call dword [0xab5400]
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov edx, ebx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], 0x1b69
add eax, ecx
mov ecx, edx
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a6a52
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2fc]
call fcn.004097a9
mov edx, dword [ebp - 0x3c]
add edx, edi
mov dword [ebp - 0x3c], edx
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
jne 0x4a6a34
inc edi
cmp edi, 0x6adb
jl 0x4a6a28
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x40a1
jl 0x4a6a26
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0xc7d
jl 0x4a6a21
mov dword [ebp - 4], 4
cmp dword [ebp - 0x38], 0x2964
jge 0x4a6ab4
push 0xaa06a4
call fcn.004aba17
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a6add
mov dword [ebp - 0x28], ebx
jmp 0x4a6af0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x74], 0x75b57fd5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x4a6ae2
mov dword [ebp - 0x74], ebx
jmp 0x4a6b7e
mov dword [ebp - 0x40], 0x98ab5457
mov dword [ebp - 0x20], 0x86524f20
mov dword [ebp - 0x38], 0x49a2f381
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x70]
add eax, edx
cmp dword [ebp - 0x40], eax
jg 0x4a6b33
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp eax, ecx
setne dl
sub edx, 3
imul ecx, edx, 0x660d
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xdfcf
jne 0x4a6b6c
cmp dword [ebp - 0x74], ebx
mov edx, esi
jne 0x4a6b6e
mov edx, ebx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xffffffeb
jg 0x4a6afe
mov dword [ebp - 0x3c], 0x3ee7
cmp dword [ebp - 0x3c], 0x41e0
jle 0x4a6bcd
push 0x1017
push ebx
call dword [0xab5404]
mov edi, ebx
mov esi, ebx
mov ebx, 0x6d62
mov eax, esi
cdq
push edx
push eax
mov ecx, 0xab2098
call fcn.00408fd3
add esi, edi
dec ebx
jne 0x4a6bad
inc edi
cmp edi, 0x2b3f
jl 0x4a6ba6
xor esi, esi
inc esi
imul eax, dword [ebp - 0x58], 0x2710
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x3c], 0x3b06
jge 0x4a6bf9
mov edx, 0xaa06d8
mov ecx, 0xab2098
call fcn.0040b859
or dword [ebp - 4], 0xffffffff
jmp 0x4a6c24
push 8
pop edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x1c], 0xca9869ec
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], 0xe3cf9575
push 4
lea ecx, [ebp - 0x160]
call fcn.004091fb
mov dword [ebp - 0x34], 0x8cb667f5
mov dword [ebp - 0x28], ebx
jmp 0x4a6c6e
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0x6673e7ed
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x4a6c5b
mov dword [ebp - 0x20], 0xfffffff4
cmp dword [ebp - 0x20], ebx
jne 0x4a6d6d
mov dword [ebp - 0x28], 0x75286e87
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], 0x9008cf5a
mov dword [ebp - 0x44], 0xf38d927f
mov dword [ebp - 0x30], 0x341d
cmp dword [ebp - 0x30], 0x3642
jle 0x4a6d06
push 0x250d
push 0x1c18
push ebx
call dword [0xab5450]
mov edi, ebx
mov esi, ebx
mov eax, edi
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xab2098
call fcn.00408fd3
inc esi
cmp esi, 0x2d38
jl 0x4a6cc8
inc edi
cmp edi, 0x4eeb
jl 0x4a6cc6
push ebx
push ebx
push 0xf54
push 0x821
call dword [0xab5550]
xor esi, esi
inc esi
push 8
pop edi
mov dword [ebp - 0x28], ebx
jmp 0x4a6d18
mov dword [ebp - 0x3c], 0x7c6f1fdb
dec dword [ebp - 0x3c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 7
jge 0x4a6d0b
mov dword [ebp - 4], edi
cmp dword [ebp - 0x30], 0x33cd
jge 0x4a6d39
mov edx, 0xaa071c
mov ecx, 0xab2098
call fcn.0040b859
or dword [ebp - 4], 0xffffffff
jmp 0x4a6d65
inc dword [ebp - 0x20]
jmp 0x4a6c7b
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x4a6e7f
mov dword [ebp - 0x3c], 0x28be
cmp dword [ebp - 0x3c], 0x29ed
jle 0x4a6df2
mov edx, ebx
mov dword [ebp - 0x20], ebx
mov ecx, ebx
mov dword [ebp - 0x38], ebx
mov edi, ebx
mov eax, edi
xor eax, ecx
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a6db7
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x3c8]
call fcn.004097a9
inc edi
cmp edi, 0x670e
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
jl 0x4a6d99
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0x7cd2
jl 0x4a6d97
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0x8a8
jl 0x4a6d92
mov dword [ebp - 0x28], 0xfffc
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x3c], 0x253c
jge 0x4a6e14
push 0xaa0748
call fcn.004aba17
pop ecx
or edi, 0xffffffff
mov dword [ebp - 4], edi
jmp 0x4a6e41
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp edi, eax
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x160]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x160]
mov dword [eax + edx*4], ecx
dec dword [ebp - 0x1c]
jmp 0x4a6d74
lea ecx, [ebp - 0x160]
call fcn.004092cd
lea eax, [ebp - 0x7c]
push eax
call fcn.004a921c
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
push esi
lea ecx, [ebp - 0x1c4]
call fcn.004091fb
mov dword [ebp - 0x2c], 0x198d
cmp dword [ebp - 0x2c], 0x1b5a
jle 0x4a6f41
mov dword [ebp - 0x38], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
cdq
idiv edi
mov eax, edx
mov dword [ebp - 0x40], eax
mov edi, ebx
mov ecx, edi
shl eax, cl
xor eax, dword [ebp - 0x38]
cdq
push edx
push eax
lea ecx, [ebp - 0x398]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a6ef1
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x398]
call fcn.004097a9
inc edi
cmp edi, 0x15ab
mov eax, dword [ebp - 0x40]
jl 0x4a6ed2
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x460b
mov eax, dword [ebp - 0x20]
jl 0x4a6ec5
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x1b6
jl 0x4a6ec0
mov ecx, dword [ebp - 0x38]
inc ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 0xc0a
jl 0x4a6ebb
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0x1948
jge 0x4a6f5c
push 0xaa07b0
call fcn.004aba17
pop ecx
or edi, 0xffffffff
mov dword [ebp - 4], edi
jmp 0x4a6f89
push 2
pop edx
mov dword [ebp - 0x28], ebx
jmp 0x4a6fa0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x4a6f91
xor ecx, ecx
mov eax, dword [ebp - 0x1c4]
cmp dword [eax], ebx
setl cl
mov dword [eax], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a6fc5
push ebx
push ebx
call dword [0xab5030]
lea ecx, [ebp - 0x1c4]
call fcn.004092cd
cmp dword [ebp - 0x3c], 0
je 0x4a7260
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x24], edi
jmp 0x4a7031
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7028
push ebx
push 0x935
push 0xbbf
push ebx
push 0x10b3
push 0x1d50
push 0x57a
push 0x2420
push 0x1184
push 0x120c
push 0x1241
push 0x63d
call dword [0xab5158]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff9
jle 0x4a6fe5
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x14], esi
push 2
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ebx
jmp 0x4a705f
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xe4], 0xa7160c63
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x4a704e
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x1b
jg 0x4a7163
push 4
lea ecx, [ebp - 0x1dc]
call fcn.004091fb
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x3c], 0x90a3cfce
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x4c], 0x91920b24
mov dword [ebp - 0x28], ebx
jmp 0x4a70ae
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1dc]
mov dword [eax + ecx*4], 0x2cfb
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x4a709b
mov dword [ebp - 0x1c], ebx
jmp 0x4a7131
mov dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x14]
add ecx, dword [eax + edx*4]
mov eax, 0xe53494ab
cmp eax, ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c], 0xfffffff9
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a712e
push ebx
push ebx
push 0x12dd
push 0x1c4b
push 0x1648
call dword [0xab557c]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x4a70b9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7148
push ebx
push ebx
call dword [0xab5374]
lea ecx, [ebp - 0x1dc]
call fcn.004092cd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1b
jle 0x4a7071
xor esi, esi
inc esi
mov dword [ebp - 0x14], ebx
jmp 0x4a7251
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x4c], 0xf8dc
mov dword [ebp - 0x34], 0x8b42dcbd
mov dword [ebp - 0x28], ebx
jmp 0x4a7196
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x124], 5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x4a7185
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], ebx
jl 0x4a7209
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x124]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x124], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x4a71f5
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x124]
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, 0xb45c
sub eax, edx
jne 0x4a71f5
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x124], ebx
mov edx, ebx
je 0x4a71f7
mov edx, esi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x1c]
jns 0x4a71a8
mov dword [ebp - 0x24], ebx
jmp 0x4a7248
mov dword [ebp - 0xe4], esi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x124]
mov dword [ebp - 0x1c], 0x438361cd
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x124]
neg eax
xor edx, edx
cmp eax, esi
setge dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x4a720e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4a716b
jmp 0x4a916c
mov dword [ebp - 0x30], 0xffff
push esi
lea ecx, [ebp - 0x200]
call fcn.004091fb
mov dword [ebp - 0x40], 0xdd972c40
mov dword [ebp - 0x20], 7
push 2
pop ecx
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.004091fb
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x20], 0xba5b
push 3
lea ecx, [ebp - 0x21c]
call fcn.004091fb
mov dword [ebp - 0x34], 6
push 2
lea ecx, [ebp - 0x148]
call fcn.004091fb
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x48], 0xf4aca62e
mov dword [ebp - 0x14], ebx
jmp 0x4a72dd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x200]
mov dword [eax + ecx*4], 0xca3691f6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4a72ca
mov dword [ebp - 0x14], ebx
push 2
pop edx
jmp 0x4a72fd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1f4]
mov dword [eax + ecx*4], 0x32e26595
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x4a72ea
mov dword [ebp - 0x14], ebx
jmp 0x4a731a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x21c]
mov dword [eax + ecx*4], 0xdefc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4a7307
mov dword [ebp - 0x14], ebx
jmp 0x4a7338
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x5dbd55ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x4a7325
cmp dword [ebp - 0x30], ebx
je 0x4a7374
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
test eax, eax
setle cl
push 0xfffffffffffffff9
pop edx
cmp edx, ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x148]
imul ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1f4]
mov dword [eax], esi
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x200]
sub ecx, dword [eax]
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x28], 6
cmp dword [ebp - 0x28], 4
jge 0x4a744c
mov dword [ebp - 0x34], 0xfad5
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x30], 0x14ff
cmp dword [ebp - 0x30], 0x16af
jle 0x4a73f2
mov edi, ebx
mov esi, ebx
mov eax, esi
and eax, edi
cdq
push edx
push eax
mov ecx, 0xab2098
call fcn.00408fd3
inc esi
cmp esi, 0x639e
jl 0x4a73cc
inc edi
cmp edi, 0x26a1
jl 0x4a73ca
xor esi, esi
inc esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x30], 0x1278
jge 0x4a7417
mov edx, 0xaa07f8
mov ecx, 0xab2098
call fcn.0040b859
or edi, 0xffffffff
mov dword [ebp - 4], edi
jmp 0x4a7444
dec dword [ebp - 0x28]
jmp 0x4a73a0
lea ecx, [ebp - 0x148]
call fcn.004092cd
lea ecx, [ebp - 0x21c]
call fcn.004092cd
lea ecx, [ebp - 0x1f4]
call fcn.004092cd
lea ecx, [ebp - 0x200]
call fcn.004092cd
mov eax, dword [0xab3384]
test al, 2
jne 0x4a74ff
push 2
pop ecx
or eax, ecx
mov dword [0xab3384], eax
mov dword [0xab3390], ebx
mov dword [0xab3394], ebx
push ebx
push ebx
call fcn.0040b758
mov dword [0xab3390], eax
mov dword [0xab3398], ebx
mov dword [0xab33a0], ebx
mov dword [0xab33ac], 0x3f800000
mov dword [ebp - 0x104], eax
mov dword [0xab339c], ebx
lea eax, [ebp - 0x104]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x27c]
push eax
mov ecx, 0xab3398
call fcn.0040b4fd
mov dword [0xab33a4], 7
mov dword [0xab33a8], 8
push 0x4c2731
call fcn.004ab9ed
pop ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], 0xb821342f
mov dword [ebp - 0x1c], ebx
push 3
pop ecx
jmp 0x4a751e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2c0], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x4a7511
mov dword [ebp - 0x1c], ebx
jmp 0x4a7535
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x260], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x4a7528
mov dword [ebp - 0x14], 0xe
jmp 0x4a7581
mov dword [ebp - 0x28], 0x665683c8
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x28], 0x12
jmp 0x4a7578
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
jne 0x4a7556
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jne 0x4a7543
cmp dword [ebp - 0x14], ebx
jne 0x4a75cf
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c0], ecx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setne cl
cmp dword [ebp - 0x14], ecx
mov edx, ebx
jl 0x4a75d1
mov edx, esi
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
cmp edx, eax
setle cl
mov eax, dword [ebp - 0x25c]
add eax, 0xfffa
add eax, ecx
mov dword [ebp - 0x14], eax
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0x44], 0x261f9c28
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], ebx
jmp 0x4a761c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x420], 0x29be1d92
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4a760b
mov dword [ebp - 0x14], ebx
jmp 0x4a7634
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x430], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4a7627
mov dword [ebp - 0x14], ebx
jmp 0x4a764d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4a763f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7666
push 0x437
call dword [0xab5528]
inc dword [ebp - 0x78]
lea eax, [ebp - 0x58]
push eax
call fcn.004a927e
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x24], ebx
push 2
pop ecx
jmp 0x4a769b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x60], 6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x4a768d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
sub edx, 0x1d91
neg edx
sbb edx, edx
inc edx
imul ecx, edx, 0x6c61
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setg dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setle cl
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 7
add eax, ecx
je 0x4a777a
mov dword [ebp - 0x34], 0xe0d1b713
mov dword [ebp - 0x20], 0xe4bf748d
mov dword [ebp - 0x24], ebx
jmp 0x4a770d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x23c], 0xe0c8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x4a76fc
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
mov edx, 0x795c380a
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, edx
setle al
cmp eax, esi
jle 0x4a774c
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x60]
je 0x4a7743
cmp dword [ebp - 0x5c], ebx
mov eax, esi
jne 0x4a7745
mov eax, ebx
cmp eax, dword [ebp - 0x5c]
mov eax, ebx
jl 0x4a774e
mov eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x34], eax
jmp 0x4a783b
push 2
lea ecx, [ebp - 0x13c]
call fcn.004091fb
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
push 2
pop edx
jmp 0x4a77a5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xd3380d42
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x4a7792
mov dword [ebp - 0x14], ebx
jmp 0x4a77c0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4], 0x9a4a91a3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x4a77af
mov dword [ebp - 0x14], ebx
jmp 0x4a77db
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2e4], 0x4e941402
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4a77ca
cmp dword [ebp - 0x60], ebx
je 0x4a782b
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 6
setge cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], esi
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x13c]
add edx, dword [eax]
mov eax, dword [ebp - 0x2dc]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x13c]
cmp dword [eax], ecx
mov eax, esi
jle 0x4a782d
mov eax, ebx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x13c]
call fcn.004092cd
cmp byte [ebp + 0xc], 0
jne 0x4a784b
cmp dword [ebp - 0x28], 0
jne 0x4a7df0
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], 0xb821342f
mov dword [ebp - 0x1c], ebx
push 3
pop ecx
jmp 0x4a786a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x4a785d
mov dword [ebp - 0x1c], ebx
jmp 0x4a7881
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x278], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x4a7874
mov dword [ebp - 0x14], 0xe
cmp dword [ebp - 0x14], 0xffffffe6
je 0x4a79c9
mov dword [ebp - 0x24], 0x5957
cmp dword [ebp - 0x24], 0x5b37
jle 0x4a7941
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov edi, ebx
mov dword [ebp - 0x30], edi
mov edx, ecx
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x34], ebx
mov ecx, edi
sar edx, cl
mov dword [ebp - 0x40], edx
mov edi, ebx
mov eax, edi
or eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x314]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a78eb
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x314]
call fcn.004097a9
inc edi
cmp edi, 0x5a93
mov edx, dword [ebp - 0x40]
jl 0x4a78cf
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x6705
mov edx, dword [ebp - 0x48]
jl 0x4a78c3
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x299f
mov ecx, dword [ebp - 0x20]
jl 0x4a78b5
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x58f4
jl 0x4a78b0
or edi, 0xffffffff
mov dword [ebp - 0x2c], 0x665683c8
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x24], 0x55d5
jge 0x4a7963
push 0xaa0830
call fcn.004aba17
pop ecx
mov dword [ebp - 4], edi
jmp 0x4a798d
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], 0x12
jmp 0x4a79bb
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff7
jne 0x4a7999
dec dword [ebp - 0x14]
jmp 0x4a788d
cmp dword [ebp - 0x14], ebx
jne 0x4a7a11
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setne cl
cmp dword [ebp - 0x14], ecx
jge 0x4a7a11
mov esi, ebx
mov eax, dword [ebp - 0x274]
xor ecx, ecx
cmp esi, eax
setle cl
mov eax, dword [ebp - 0x274]
add eax, 0xfffa
add eax, ecx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x440]
push eax
mov dl, byte [ebp + 0xc]
mov ecx, dword [ebp - 0x58]
call fcn.004920e3
pop ecx
mov esi, eax
lea edi, [ebp - 0xd0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
inc esi
cmp byte [ebp + 0xc], 0
je 0x4a7df0
cmp dword [ebp - 0xc8], 0
je 0x4a7df0
or edi, 0xffffffff
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], 0x9f5f
mov dword [ebp - 0x20], 0x392715ee
mov dword [ebp - 0x30], 0x4ed383de
mov dword [ebp - 0x34], 0x4f12ce33
mov dword [ebp - 0x2c], ebx
jmp 0x4a7a9c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x54], 0xfffffffd
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x4a7a8e
mov dword [ebp - 0x2c], 0x5648
cmp dword [ebp - 0x2c], 0x57b8
jle 0x4a7b21
mov dword [ebp - 0x38], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x30], 0x73e0
mov edi, ebx
mov eax, ecx
or eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x32c]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a7ade
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x32c]
call fcn.004097a9
inc edi
cmp edi, 0x1f62
mov ecx, dword [ebp - 0x20]
jl 0x4a7ac2
mov eax, dword [ebp - 0x38]
add ecx, eax
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x30]
jne 0x4a7ac0
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x16cc
jl 0x4a7ab4
push ebx
push ebx
call dword [0xab5378]
or edi, 0xffffffff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7b33
push ebx
push ebx
push ebx
call dword [0xab53b0]
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x2c], 0x52f5
jge 0x4a7b4e
push 0xaa0890
call fcn.004aba17
pop ecx
mov dword [ebp - 4], edi
jmp 0x4a7b78
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0xafc1
test eax, eax
je 0x4a7ce3
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7bbf
push ebx
push 0x2666
push 0x1381
push 0x1375
push 0x19a1
push 0x251a
call dword [0xab5168]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x4a7bf4
mov dword [ebp - 0x24], 0xfffffffd
jmp 0x4a7be9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7be6
push ebx
push ebx
push ebx
push ebx
call dword [0xab5310]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1e
jle 0x4a7bd3
jmp 0x4a7d76
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7c07
push esi
push ebx
push ebx
push ebx
call dword [0xab502c]
mov dword [ebp - 0x2c], 0x617a
cmp dword [ebp - 0x2c], 0x6281
jle 0x4a7c87
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x7b71
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x35c]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a7c44
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x35c]
call fcn.004097a9
mov eax, dword [ebp - 0x30]
add eax, edi
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
jne 0x4a7c2a
inc edi
cmp edi, 0x750b
jl 0x4a7c1e
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x3e92
jl 0x4a7c1c
push ebx
push ebx
push ebx
push ebx
call dword [0xab5284]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7c97
push ebx
call dword [0xab52ec]
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x2c], 0x6042
jge 0x4a7cb2
push 0xaa08e0
call fcn.004aba17
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a7d76
mov dword [ebp - 0x24], 0x6f39
mov dword [ebp - 0x34], 0x4069a3e2
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
je 0x4a7d3b
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x54]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x24]
add eax, ecx
xor ecx, ecx
cmp eax, 0x7bde5156
setle cl
cmp esi, ecx
sbb eax, eax
inc eax
add eax, dword [ebp - 0x24]
mov edx, esi
jne 0x4a7d3d
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7d76
push ebx
push ebx
push 0x99c
push ebx
push ebx
call dword [0xab5560]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x2c], ebx
push 2
pop ecx
jmp 0x4a7d9b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2d4], 0x342e
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x4a7d8a
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7db5
push ebx
push 0x2078
call dword [0xab554c]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7de4
push 0xc24
push 0x1716
push 0x192c
push 0xe88
push 0x25da
push 0xd65
push 0x5a
call dword [0xab506c]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x24], 0x324ec2e0
push 3
lea ecx, [ebp - 0x288]
call fcn.004091fb
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x38], 0x1c42
cmp dword [ebp - 0x38], 0x1e06
jle 0x4a7e92
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
cdq
idiv edi
mov ecx, edx
mov dword [ebp - 0x40], ecx
mov edi, ebx
mov eax, edi
and eax, ecx
cdq
push edx
push eax
lea ecx, [ebp - 0x380]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a7e55
mov eax, dword [eax]
push eax
call fcn.004aba17
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x380]
call fcn.004097a9
inc edi
cmp edi, 0x2c43
mov ecx, dword [ebp - 0x40]
jl 0x4a7e39
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x28f6
mov eax, dword [ebp - 0x20]
jl 0x4a7e2c
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x1a1d
jl 0x4a7e27
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x38], 0x1a39
jge 0x4a7ead
push 0xaa0938
call fcn.004aba17
pop ecx
or edi, 0xffffffff
mov dword [ebp - 4], edi
jmp 0x4a7eda
push 2
pop edx
mov dword [ebp - 0x2c], ebx
jmp 0x4a7ef1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x288]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x4a7ee2
mov dword [ebp - 0x24], 5
jmp 0x4a7f2a
mov dword [ebp - 0x20], 0xbad86e52
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x4a7f27
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a7f1f
push ebx
call dword [0xab5508]
dec dword [ebp - 0x20]
jns 0x4a7f0f
push 2
pop edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x13
jge 0x4a7f00
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x288]
call fcn.004092cd
cmp dword [ebp - 0x28], 0
jne 0x4a8c8f
cmp dword [ebp - 0xd0], 0
jle 0x4a8c8f
mov dword [ebp - 0x30], esi
push esi
lea ecx, [ebp - 0x194]
call fcn.004091fb
mov dword [ebp - 0x30], edi
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x1c], ebx
push 2
pop ecx
jmp 0x4a7fa4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x4a7f93
mov dword [ebp - 0x1c], ebx
jmp 0x4a7fc1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], 0xae2fe817
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x4a7fae
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, dword [ebp - 0x90]
add ecx, eax
mov eax, dword [ebp - 0x8c]
xor edx, edx
cmp ecx, eax
setge dl
mov eax, dword [ebp - 0x194]
mov dword [eax], edx
mov eax, dword [ebp - 0x8c]
add eax, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10c]
neg eax
xor ecx, ecx
cmp eax, 0x8ab6
setle cl
cmp ecx, 0xfff6
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, 0x5d3e
setne cl
mov eax, dword [ebp - 0x108]
imul eax, ecx
push 2
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x114], eax
lea ecx, [ebp - 0x194]
call fcn.004092cd
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0x315362da
mov dword [ebp - 0x38], 0x1637c1d6
push 2
lea ecx, [ebp - 0xf0]
call fcn.004091fb
mov dword [ebp - 0x20], 0x66c4a87f
mov dword [ebp - 0x30], 0x112def90
mov dword [ebp - 0x34], 0xe619
mov dword [ebp - 0x2c], ebx
push 2
pop edx
jmp 0x4a80a1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x7d0b0a35
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jl 0x4a808e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0x1dba
setge dl
sub edx, 0x99244325
neg edx
sbb edx, edx
inc edx
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp edx, ecx
setne al
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x20], ebx
jne 0x4a80f9
cmp dword [ebp - 0x38], ebx
mov ecx, ebx
je 0x4a80fb
mov ecx, esi
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
xor edx, edx
cmp ecx, 0xbd0d
setne dl
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, esi
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x48], 0x8991cd3c
mov dword [ebp - 0x2c], esi
push 3
lea ecx, [ebp - 0x1b8]
call fcn.004091fb
mov dword [ebp - 0x2c], ebx
jmp 0x4a8161
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1b8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x4a8152
mov eax, dword [ebp - 0x20]
neg eax
je 0x4a81a8
mov dword [ebp - 0x20], 0xd5e48d32
mov dword [ebp - 0x44], 0x83c8fc55
mov dword [ebp - 0x44], esi
push 2
lea ecx, [ebp - 0x248]
call fcn.004091fb
mov dword [ebp - 0x1c], ebx
push 2
pop edx
jmp 0x4a8cc8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x248]
mov dword [eax + ecx*4], 0x405b4019
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x4a8cb5
mov dword [ebp - 0x1c], ebx
jmp 0x4a8ce3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x178], 0xd5fa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x4a8cd2
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x4a8cf8
push ebx
call dword [0xab50b4]
mov dword [ebp - 0x20], ebx
jmp 0x4a8d17
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x44], 0xcc2fdcba
inc dword [ebp - 0x178]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 6
jne 0x4a8cfd
lea ecx, [ebp - 0x248]
call fcn.004092cd
lea ecx, [ebp - 0xd0]
call fcn.0049fe62
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x34], 0x8905154
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x38], 0x65786371
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x24], 0xb0cf5aa0
mov dword [ebp - 0x34], 0x867f
mov dword [ebp - 0x30], 7
push 3
lea ecx, [ebp - 0x1ac]
call fcn.004091fb
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x20], ebx
push 3
pop edx
jmp 0x4a8d8e
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1ac]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x4a8d7f
cmp dword [ebp - 0x1c], ebx
je 0x4a8e42
mov eax, dword [ebp + 8]
mov edi, eax
lea esi, [ebp - 0xb4]
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