Function at 0x6678e6d5
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x667843e2
call fcn.66766184
sub esp, 0x490
push ebx
push esi
push edi
mov edi, ecx
lea eax, [ebp - 0x25]
lea ecx, [ebp - 0x120]
push eax
mov dword [ebp - 0x10], edi
call fcn.6672c32e
and dword [ebp - 4], 0
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x74], 0x80
call fcn.66706b50
lea eax, [ebp - 0x74]
mov esi, 0x667957d8
push eax
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1f0], esi
call fcn.66706d70
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 2
mov dword [ebp - 0x90], 0x40
call fcn.66706b50
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x2d4]
push eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x2d4], esi
call fcn.66706d70
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 4
mov dword [ebp - 0xac], 0x20
call fcn.66706b50
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0x170]
push eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x170], esi
call fcn.66706d70
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 6
call fcn.6672d629
lea ecx, [ebp - 0x374]
mov dword [ebp - 0xa4], eax
call fcn.66706710
lea eax, [ebp - 0xa4]
mov edi, 0x667957dc
push eax
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 7
mov dword [ebp - 0x374], edi
call fcn.66706830
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 8
call fcn.6672c63a
lea eax, [ebp - 0x26]
lea ecx, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 9
call fcn.6672c32e
mov ebx, dword [ebp + 0x10]
mov byte [ebp - 4], 0xa
lea ecx, [ebx + 4]
mov dword [ebp - 0x14], ecx
call fcn.66729633
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
sub eax, dword [ecx + 0xc]
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x234]
call fcn.66706710
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0x234]
push eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x234], edi
call fcn.66706830
push 1
lea ecx, [ebp - 0x10c]
pop eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x78], eax
call fcn.6672db78
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x10c]
push eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x10c], 0x66796090
call fcn.66722f1d
cmp dword [ebp + 8], 0
mov byte [ebp - 4], 0xe
je 0x6678f742
lea ecx, [ebp - 0x234]
call fcn.66706890
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x60], eax
call fcn.6672dc2a
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x284]
push eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x284], 0x6679608c
call fcn.66729837
mov byte [ebp - 4], 0x10
call fcn.667014a2
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x60]
call fcn.6672d629
test eax, eax
je 0x6678e8e8
mov eax, dword [ebp + 0xc]
push 1
lea ecx, [ebp - 0x10c]
and byte [eax + 3], 0
call fcn.6672c774
jmp 0x6678e91e
push 0
lea ecx, [ebp - 0x10c]
call fcn.6672c774
push 0xc
lea eax, [ebp - 0x1fc]
push 0
push eax
call fcn.66765990
push 0x10
lea eax, [ebp - 0xe4]
push 0
push eax
call fcn.66765990
mov eax, dword [ebp + 0xc]
add esp, 0x18
and byte [eax], 0
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x60]
call fcn.6672d629
test eax, eax
je 0x6678e96c
push 1
lea ecx, [ebp - 0x10c]
call fcn.6672c774
lea ecx, [ebp - 0x284]
call fcn.6672dc9b
mov ecx, eax
mov eax, dword [ebp + 0xc]
push 0
imul ecx, dword [eax]
xor ecx, 0x37373af4
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x60]
call fcn.6672c17d
mov ecx, dword [ebp - 0x14]
call fcn.66729633
jmp 0x6678e9af
push 0
lea ecx, [ebp - 0x10c]
call fcn.6672c774
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x284]
xor dword [eax], 0x37373af4
call fcn.6672dc9b
mov ecx, eax
mov eax, dword [ebp + 0xc]
push 0
imul ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x60]
call fcn.6672c17d
lea ecx, [ebp - 0x234]
call fcn.66706890
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.6674033b
lea eax, [ebp - 0x9c]
pop ecx
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x1c], 2
push 4
lea eax, [ebp - 0x1c8]
push dword [ebp + 0x10]
push eax
call fcn.667403cc
add dword [ebp + 0x10], 4
add esp, 0xc
dec dword [ebp - 0x1c]
jne 0x6678e9dd
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.6674046a
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [eax + 0xbc]
test ecx, ecx
jne 0x6678ea20
xor eax, eax
jmp 0x6678ea2b
mov eax, dword [eax + 0xc0]
sub eax, ecx
sar eax, 2
push eax
call fcn.6670148d
push dword [ebp + 0xc]
lea eax, [ebp - 0x20c]
push eax
call fcn.667319cc
mov eax, dword [ebp + 0xc]
add esp, 0xc
lea ecx, [ebp - 0x2ac]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
call fcn.6672b3e7
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x2ac]
push eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x2ac], 0x66795ff8
call fcn.66722c8a
mov eax, dword [ebp - 0x2a4]
push 0x9b75fb6c
push 0x647cbab5
push 0xec6bbad7
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x12
call dword [eax]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.6672af96
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x208]
push eax
call fcn.667319cc
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 0x10]
push ecx
mov eax, dword [eax]
push eax
call fcn.667319a9
add esp, 0x18
xor eax, eax
mov ecx, eax
and ecx, 3
mov cl, byte [ebp + ecx + 0x10]
xor cl, byte [ebp + eax - 0x1fc]
inc eax
cmp eax, 0x10
mov byte [ebp + eax - 0xe5], cl
jb 0x6678ead3
movzx eax, byte [ebp - 0xe3]
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x94], eax
call fcn.66706b50
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x25c], esi
call fcn.66706d70
movzx eax, byte [ebp - 0xe4]
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x70], eax
call fcn.66706b50
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x324]
push eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x324], esi
call fcn.66706d70
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x16
call fcn.66706de0
and al, 0xfc
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xa8], eax
call fcn.66706b50
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x17
mov dword [ebp - 0xd4], esi
call fcn.66706d70
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x18
jne 0x6678f6d2
lea eax, [ebp - 0x200]
push 4
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.66767920
add esp, 0xc
test eax, eax
je 0x6678ebd4
mov eax, dword [ebp - 0x10]
push 2
add eax, 0x60
push eax
lea ecx, [eax + 0x20]
call fcn.6672d64e
jmp 0x6678ed00
mov eax, dword [ebp - 0x1e8]
push 0x89bd2293
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x1e8]
call dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xcc]
push 0x89bd2293
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 0x10], eax
jne 0x6678ecb1
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0xd8]
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.6672d3a0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xdc]
cmp dword [ebp + 0x10], ecx
je 0x6678ec50
push dword [ebp + 0x10]
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [eax + 0xd8]
call fcn.66709050
push dword [ebp - 0x14]
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.667319fd
add esp, 0xc
mov ecx, dword [eax]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x24], ecx
lea ecx, [eax + 4]
call fcn.66729633
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0xd8]
call fcn.667272e5
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x44]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.667087c0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x18
call fcn.66729175
jmp 0x6678ed00
mov eax, dword [ebp - 0x2cc]
push 0x89bd2293
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x2cc]
call dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xcc]
push 0x89bd2293
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 0x10], eax
jne 0x6678ed00
mov eax, dword [ebp - 0x10]
push 0
lea ecx, [eax + 0x60]
call fcn.6672c17d
lea ecx, [ebp - 0x374]
call fcn.66706890
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x60
push eax
lea ecx, [eax + 0x20]
call fcn.6672d6fc
cmp eax, 2
ja 0x6678f6f2
lea ecx, [ebp - 0x324]
call fcn.66706de0
mov ecx, dword [ebp + 0xc]
cmp eax, 8
mov dword [ecx], eax
jbe 0x6678ee6e
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0xd4], esi
call fcn.66705ef0
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x324], esi
call fcn.66705ef0
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x25c], esi
call fcn.66705ef0
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x2ac], 0x66795ff8
call fcn.6672b2f3
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x284], 0x6679608c
call fcn.6672c826
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10c], 0x66796090
call fcn.6672c7d4
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x234], edi
call fcn.66705a20
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 9
call fcn.6672b793
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 8
mov dword [ebp - 0x394], 0x66796088
call fcn.6672cdc2
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 6
mov dword [ebp - 0x374], edi
call fcn.66705a20
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 4
mov dword [ebp - 0x170], esi
call fcn.66705ef0
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 2
mov dword [ebp - 0x2d4], esi
call fcn.66705ef0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1f0], esi
call fcn.66705ef0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.6672b793
xor eax, eax
jmp 0x6678f808
lea eax, [ebp - 0xe1]
push 8
push eax
lea ecx, [ebp - 0x120]
call fcn.6672c72d
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
call fcn.6678f8b8
push eax
lea ecx, [ebp - 0x10c]
call fcn.6672c774
mov eax, dword [ebp - 0x168]
mov edi, 0x89bd2293
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x168]
call dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xcc]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 0x10], eax
jne 0x6678ef2e
lea eax, [ebp - 0xe1]
push 8
push eax
lea ecx, [ebp - 0x8c]
call fcn.6672c72d
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0xc8]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.6672d3a0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xcc]
cmp dword [ebp + 0x10], eax
je 0x6678ef1f
lea eax, [ebp - 0x18]
add ecx, 0xc8
push eax
call fcn.6672bf00
push 0
lea ecx, [ebp - 0x10c]
call fcn.6672c774
jmp 0x6678ef82
push 0x6ec218f2
push 0xff5d2d6a
lea eax, [ebp - 0x120]
push 0x3b4ed3d9
push eax
lea eax, [ebp - 0x44]
push 8
push eax
lea ecx, [ebp - 0x110]
call fcn.6672da8a
lea ecx, [ebp - 0x8c]
call fcn.6672da27
push 8
lea ecx, [ebp - 0x8c]
call fcn.6672d7cf
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x44]
push 8
push eax
call fcn.6672db06
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0xd8]
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.6672d3a0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xdc]
cmp dword [ebp + 0x10], eax
je 0x6678efb3
push 1
lea ecx, [ebp - 0x10c]
call fcn.6672c774
lea ecx, [ebp - 0x10c]
call fcn.6672dbe9
test ax, ax
jne 0x6678f550
and dword [ebp - 0x50], 0
lea ecx, [ebp - 0x148]
call fcn.6672dccb
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x148], 0x66796084
call fcn.6672dd0e
mov eax, dword [ebp - 0x168]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x1b
call dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xcc]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 0x10], eax
je 0x6678f08b
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp - 0x10]
push dword [eax]
lea eax, [ebp - 0x8c]
lea ecx, [ebx + 4]
push eax
mov eax, ebx
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp + 0x13]
push eax
call fcn.667903aa
push eax
lea ecx, [ebp - 0x148]
call fcn.6672c84f
mov eax, dword [ebp - 0x54]
add eax, 0xaeb7d88
cmp eax, 8
ja case.default.0x6678f072
jmp dword [eax*4 + 0x6678f819]
push 0
lea ecx, [ebp - 0x148]
call fcn.6672c84f
jmp case.0x6678f072.183205256
push 1
lea ecx, [ebp - 0x148]
call fcn.6672c84f
lea eax, [ebp - 0x44]
push 8
push eax
lea ecx, [ebp - 0x8c]
call fcn.6672c6dd
mov edi, fcn.6672c2a0
lea eax, [ebp - 0x49c]
push edi
push 0x6672d736
push 0xb
push 0x18
push eax
call fcn.66767898
lea ecx, [ebx + 0xa4]
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x5c], ecx
call fcn.667298cb
push eax
lea ecx, [ebp - 0x49c]
call fcn.6672c2cb
lea ecx, [ebx + 0x2c]
mov dword [ebp - 0x64], ecx
call fcn.66722e2d
push eax
lea ecx, [ebp - 0x484]
call fcn.6672c2cb
lea ecx, [ebx + 0x7c]
mov dword [ebp - 0x6c], ecx
call fcn.66729858
push eax
lea ecx, [ebp - 0x46c]
call fcn.6672c2cb
lea ecx, [ebx + 0x54]
mov dword [ebp - 0x30], ecx
call fcn.667297dc
push eax
lea ecx, [ebp - 0x454]
call fcn.6672c2cb
lea ecx, [ebx + 0xcc]
mov dword [ebp - 0x20], ecx
call fcn.66722fa1
push eax
lea ecx, [ebp - 0x3c4]
call fcn.6672c2cb
mov ecx, dword [ebp - 0x14]
call fcn.66729633
push eax
lea ecx, [ebp - 0x3ac]
call fcn.6672c2cb
and dword [ebp + 0x10], 0
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x44]
push 4
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.66765650
lea eax, [ebp - 0x40]
push 4
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.66765650
add esp, 0x18
mov ebx, 0x6672d736
lea eax, [ebp - 0x1b8]
push edi
push ebx
push 3
push 0x18
push eax
call fcn.66767898
push dword [ebp + 0x10]
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1d
call fcn.6672c2cb
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x188]
call fcn.6672c2cb
push 0
lea ecx, [ebp - 0x1b8]
call fcn.6672c2cb
test byte [0x667be64c], 1
jne 0x6678f1f0
or byte [0x667be64c], 1
push edi
push ebx
push 0x2000
push 0x18
push 0x667c0260
call fcn.66767898
push 0x6678f851
call fcn.66765d6c
pop ecx
test byte [0x667be64c], 2
jne 0x6678f21a
or byte [0x667be64c], 2
push 0x667c0260
mov ecx, 0x667be630
call fcn.66743950
push 0x6678f847
call fcn.66765d6c
pop ecx
test byte [0x667be64c], 4
mov ebx, 0x667be650
jne 0x6678f246
or byte [0x667be64c], 4
push 0x667c0260
mov ecx, ebx
call fcn.6674bc10
push 0x6678f83d
call fcn.66765d6c
pop ecx
lea eax, [ebp - 0x49c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.6674bc30
lea ecx, [ebp - 0x49c]
call fcn.6672d7aa
mov ecx, dword [ebp - 0x5c]
push eax
call fcn.6672c4c6
lea ecx, [ebp - 0x484]
call fcn.6672d7aa
mov ecx, dword [ebp - 0x64]
push eax
call fcn.6672c3a6
lea ecx, [ebp - 0x46c]
call fcn.6672d7aa
mov ecx, dword [ebp - 0x6c]
push eax
call fcn.6672c466
lea ecx, [ebp - 0x454]
call fcn.6672d7aa
mov ecx, dword [ebp - 0x30]
push eax
call fcn.6672c406
lea ecx, [ebp - 0x3c4]
call fcn.6672d7aa
mov ecx, dword [ebp - 0x20]
push eax
call fcn.6672c526
lea ecx, [ebp - 0x3ac]
call fcn.6672d7aa
mov ebx, dword [ebp - 0x14]
push eax
mov ecx, ebx
call fcn.6672c346
mov ecx, ebx
call fcn.66729633
cmp dword [ebp - 0x18], eax
je 0x6678f2ef
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x20]
push dword [eax]
push ebx
call fcn.6672da33
push edi
push 3
lea eax, [ebp - 0x1b8]
push 0x18
push eax
mov byte [ebp - 4], 0x1c
call fcn.667677ba
push edi
push 0xb
lea eax, [ebp - 0x49c]
push 0x18
push eax
mov byte [ebp - 4], 0x1b
call fcn.667677ba
mov ebx, dword [ebp - 0x10]
mov edi, 0x89bd2293
lea ecx, [ebp - 0x148]
call fcn.6672dd27
cmp ax, 1
jne 0x6678f522
lea ecx, [ebp - 0x148]
call fcn.6672dd27
cmp ax, 1
jne 0x6678f532
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x6678f359
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x14]
call fcn.66729633
mov ecx, dword [ebp - 0x14]
and al, 0xf0
mov dword [ebp + 8], eax
call fcn.66729633
cmp dword [ebp - 0x18], eax
jne 0x6678f384
mov eax, dword [ebp + 0xc]
push dword [eax]
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [eax + 0x20]
call fcn.6672da33
push 0
lea ecx, [ebx + 0x10]
call fcn.6672bf6e
mov eax, dword [ebp - 0x168]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x168]
call dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xcc]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 0x10], eax
jne 0x6678f53f
mov ecx, dword [ebp - 0x14]
call fcn.66729633
sub eax, dword [ebp + 8]
lea ecx, [ebp - 0x198]
mov dword [ebp + 0x10], eax
call fcn.66706b50
lea eax, [ebp + 0x10]
lea ecx, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x198], esi
call fcn.66706d70
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x1f
call fcn.66706de0
cmp eax, 0xf
jae 0x6678f50b
lea eax, [ebp - 0x4c]
push 0x10
push eax
push dword [ebp + 8]
call fcn.6672af7e
add esp, 0xc
test eax, eax
jne 0x6678f50b
lea ecx, [ebp - 0x2fc]
mov dword [ebp + 8], 0xcc
call fcn.66706b50
lea eax, [ebp + 8]
lea ecx, [ebp - 0x2fc]
push eax
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x2fc], esi
call fcn.66706d70
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x21
call fcn.66706de0
movzx eax, byte [ebp + eax - 0x4c]
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x20], eax
call fcn.66706b50
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x34c]
push eax
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x34c], esi
call fcn.66706d70
mov eax, dword [ebp - 0x2f4]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 0x23
call dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x344]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x344]
call dword [eax]
cmp dword [ebp - 0x30], eax
jne 0x6678f4e1
lea ecx, [ebp - 0x394]
call fcn.66735f45
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x34c], esi
call fcn.66705ef0
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x2fc], esi
call fcn.66705ef0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x198], esi
call fcn.66705ef0
jmp 0x6678f53f
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
call dword [eax + 8]
cmp eax, 0x8142fea1
jne 0x6678f53f
push 1
lea ecx, [ebp - 0x10c]
call fcn.6672c774
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x18
call fcn.6672c844
jmp 0x6678f553
mov ebx, dword [ebp - 0x10]
lea ecx, [ebp - 0x10c]
call fcn.6672dbe9
cmp ax, 1
jne 0x6678f6c6
push 0xea78a1d2
lea ecx, [ebp - 0x198]
call fcn.6672c59e
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x24
call fcn.6672c8f6
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x25
call fcn.66706de0
mov esi, dword [ebp - 0x18]
and eax, 3
sub esi, eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xd8]
call fcn.6672bf3d
lea eax, [ebp - 0x44]
push 8
push eax
lea ecx, [ebp - 0x120]
call fcn.6672c57b
push 0
lea ecx, [ebx + 0x38]
call fcn.6672c09c
mov eax, dword [ebx + 0xdc]
cmp dword [ebp + 0x10], eax
je 0x6678f67a
mov eax, dword [ebp - 0x1e8]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0x1e8]
call dword [eax]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0xcc]
push edi
push 0x76b4634a
push 0xfea36328
lea ecx, [ebp - 0xcc]
call dword [eax]
cmp dword [ebp + 8], eax
je 0x6678f67a
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x198]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], eax
mov edi, eax
and eax, 0xf
and edi, 0xfffffff0
push eax
call fcn.6672c5da
lea eax, [ebp - 0x3c]
push 0x10
push eax
push edi
call fcn.6672af7e
add esp, 0xc
lea ecx, [ebp - 0x198]
call fcn.66706de0
mov al, byte [ebp + eax - 0x3c]
lea ecx, [ebp - 0x140]
mov byte [ebp + 0xb], al
call fcn.6672ddb6
cmp al, byte [ebp + 0xb]
jne 0x6678f666
mov esi, dword [ebp - 0x20]
push dword [ebp + 0x10]
lea eax, [ebp + 8]
lea ecx, [ebx + 0xd8]
push eax
call fcn.6672bf29
jmp 0x6678f68d
mov eax, esi
lea ecx, [ebp - 0x3c]
and al, 0xf0
push 0x10
push ecx
push eax
call fcn.6672af7e
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push esi
call fcn.6672c346
mov eax, dword [ebp + 0xc]
push dword [eax]
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.6672af66
add esp, 0xc
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x24
call fcn.6672c94d
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x18
call fcn.66705e20
push 0
lea ecx, [ebx + 0x60]
call fcn.6672c1d5
jmp 0x6678f6f5
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x18]
mov ecx, esi
call fcn.6678fb07
push 0
mov ecx, esi
call fcn.6678fb56
push 0
lea ecx, [esi + 0x60]
call fcn.6672c1d5
mov ebx, dword [ebp - 0x10]
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x16
call fcn.66705e20
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0x14
call fcn.66705e20
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x12
call fcn.66705e20
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x10
call fcn.6672b3c0
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0xe
call fcn.6672c81b
jmp 0x6678f745
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
call fcn.66729633
lea ecx, [ebp - 0x234]
mov dword [ebp + 0xc], eax
call fcn.66706890
mov esi, eax
lea eax, [ebp + 0xc]
push str.Alt_processing
push eax
lea ecx, [ebx + 0xc8]
call fcn.6672bf00
push dword [eax]
push esi
push 1
call fcn.667143d3
add esp, 0x10
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xc
call fcn.6672c769
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xa
call fcn.66705950
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 9
call fcn.6672b793
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 8
call fcn.6672c68f
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 6
call fcn.66705950
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 4
call fcn.66705e20
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 2
call fcn.66705e20
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1f0]
call fcn.66705e20
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.6672b793
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10