Function at 0x100a6fad
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x1014bef2
call fcn.1014399c
sub esp, 0x2ac
push ebx
push esi
mov eax, ecx
mov dword [ebp - 0x118], edx
push edi
mov dword [ebp - 0x84], eax
xor edx, edx
cmp eax, 2
mov dword [ebp - 4], edx
mov ecx, edx
sete byte [ebp - 0x65]
mov byte [ebp - 0x49], dl
cmp eax, 3
mov dword [ebp - 0xb0], 0x6c066603
mov dword [ebp - 0xac], 0x7b027d01
mov esi, edx
sete bl
mov dword [ebp - 0xa8], 0xbbe7bb0a
mov dword [ebp - 0xa4], 0x393d7ba1
mov dword [ebp - 0xa0], 0x7c098aed
mov dword [ebp - 0x9c], 0x72007a07
mov dword [ebp - 0x98], 0x7f048205
mov word [ebp - 0x94], 0x8108
cmp ecx, 8
jne 0x100a7043
push 0xa
pop esi
push 0x10
pop ecx
jmp 0x100a7075
movzx eax, byte [ebp + ecx - 0xaf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7066
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xb0]
mov byte [ebp + eax - 0x154], dl
add ecx, 2
cmp ecx, 0x1e
jb 0x100a7036
lea eax, [ebp - 0x154]
mov byte [ebp - 0x14a], 0
push eax
lea ecx, [ebp - 0x1c8]
call fcn.1001b5bd
mov byte [ebp - 4], 1
lea edi, [ebp - 0x154]
xor eax, eax
mov dword [ebp - 0x64], 0x6a0b6603
stosd dword es:[edi], eax
xor edx, edx
mov dword [ebp - 0x60], 0x70097c07
mov dword [ebp - 0x5c], 0x7e086f02
mov dword [ebp - 0x58], 0x70017f05
stosd dword es:[edi], eax
mov dword [ebp - 0x54], 0x75048400
mov dword [ebp - 0x50], 0x850a8406
stosw word es:[edi], ax
stosb byte es:[edi], al
movzx ecx, byte [ebp + edx - 0x63]
sub ecx, edx
dec ecx
jns 0x100a70ef
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x64]
add edx, 2
mov byte [ebp + eax - 0x1b0], cl
cmp edx, 0x18
jb 0x100a70d3
lea eax, [ebp - 0x1b0]
mov byte [ebp - 0x1a4], 0
push eax
lea ecx, [ebp - 0x220]
call fcn.1001b5bd
mov byte [ebp - 4], 2
lea edi, [ebp - 0x1b0]
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x2b8]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
call fcn.10032641
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x28], 0xdb116e00
xor esi, esi
mov dword [ebp - 0x24], 0x8deac0d
mov dword [ebp - 0x20], 0xfe0fb07d
mov dword [ebp - 0x1c], 0x7f51b541
mov dword [ebp - 0x18], 0x1d93020
mov dword [ebp - 0x14], 0x2780364
mov byte [ebp - 0x10], 0x6a
cmp ecx, 2
jne 0x100a717f
push 0x11
pop esi
push esi
pop ecx
jmp 0x100a71ab
movzx eax, byte [ebp + ecx - 0x27]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a719f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x28]
mov byte [ebp + eax - 0x108], dl
add ecx, 2
cmp ecx, 0x19
jb 0x100a7173
lea eax, [ebp - 0x108]
mov byte [ebp - 0x104], 0
push eax
lea ecx, [ebp - 0x250]
call fcn.1001b5bd
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x108], eax
mov ecx, eax
mov byte [ebp - 0x104], al
mov esi, eax
mov dword [ebp - 0x28], 0x72086405
mov dword [ebp - 0x24], 0x77007402
mov dword [ebp - 0x20], 0x7f066e04
mov dword [ebp - 0x1c], 0xd2947205
mov dword [ebp - 0x18], 0x37b095d
mov dword [ebp - 0x14], 0x7830183
mov byte [ebp - 0x10], 0x7c
cmp ecx, 0xc
jne 0x100a721d
push 5
pop esi
push 0xf
pop ecx
jmp 0x100a7249
movzx eax, byte [ebp + ecx - 0x27]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a723d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x28]
mov byte [ebp + eax - 0x160], dl
add ecx, 2
cmp ecx, 0x19
jb 0x100a7210
lea eax, [ebp - 0x160]
mov byte [ebp - 0x156], 0
push eax
lea ecx, [ebp - 0x238]
call fcn.1001b5bd
mov ecx, dword [ebp - 0x118]
lea edi, [ebp - 0x160]
mov byte [ebp - 4], 5
lea edx, [ebp - 0x1c8]
xor eax, eax
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.1001cd44
cmp byte [ebp + 0xc], 0
pop ecx
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0x130], 0
je 0x100a7338
lea eax, [ebp - 0x84]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x130]
push eax
lea edx, [ebp + 0x10]
lea ecx, [ebp + 0x28]
call fcn.10033124
add esp, 0xc
test al, al
jne 0x100a72d3
mov byte [ebp - 0x49], al
mov bl, al
jmp 0x100a8384
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x238]
push eax
call fcn.1001c95a
lea ecx, [ebp - 0x250]
push ecx
mov ecx, eax
call fcn.1001c95a
mov esi, eax
lea edx, [ebp - 0x1c8]
push 0
mov ecx, esi
call fcn.1001cd44
pop ecx
push 0
lea eax, [ebp - 0x1c8]
mov ecx, esi
push eax
call fcn.1001c95a
lea edx, [ebp - 0x2b8]
mov ecx, eax
call fcn.1001cd44
pop ecx
test bl, bl
je 0x100a759e
push 0
lea edx, [ebp - 0x220]
mov ecx, esi
call fcn.1001cd44
pop ecx
test bl, bl
je 0x100a759e
xor ebx, ebx
mov dword [ebp - 0x28], 0x67066f01
mov dword [ebp - 0x24], 0x524f280c
mov ecx, ebx
mov dword [ebp - 0x20], 0x13c1ced7
mov esi, ebx
mov dword [ebp - 0x1c], 0x91eae592
mov dword [ebp - 0x18], 0x6c006602
mov dword [ebp - 0x14], 0x70057504
mov word [ebp - 0x10], 0x6f03
cmp ecx, 4
jne 0x100a7383
push 0xc
pop esi
push 0xe
pop ecx
jmp 0x100a73ac
movzx eax, byte [ebp + ecx - 0x27]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a73a3
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x28]
mov byte [ebp + eax - 0x80], dl
add ecx, 2
cmp ecx, 0x1a
jb 0x100a7376
lea eax, [ebp - 0x80]
mov byte [ebp - 0x79], bl
push eax
lea ecx, [ebp - 0x64]
call fcn.1001b5bd
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x220]
mov byte [ebp - 4], 6
push ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
call fcn.1001cd44
pop ecx
push ebx
lea ecx, [ebp - 0x128]
mov edi, eax
call fcn.1001bf35
mov eax, ecx
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 6
call fcn.1001c059
cmp byte [ebp + 0xc], 0
je 0x100a758d
mov dword [ebp - 0x78], 0x1a0e2f00
mov ecx, ebx
mov dword [ebp - 0x74], 0x1943087b
mov esi, ebx
mov dword [ebp - 0x70], 0x3ce18672
mov dword [ebp - 0x6c], 0xf232d58
cmp ecx, 2
jne 0x100a7449
push 0xe
pop esi
push esi
pop ecx
jmp 0x100a7472
movzx eax, byte [ebp + ecx - 0x77]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7469
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x78]
mov byte [ebp + eax - 0x48], dl
add ecx, 2
cmp ecx, 0x10
jb 0x100a743d
lea eax, [ebp - 0x48]
mov byte [ebp - 0x47], bl
push eax
lea ecx, [ebp - 0x190]
call fcn.1001b5bd
push eax
lea edx, [ebp - 0x220]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x178]
call fcn.100458c6
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.10045cdb
mov esi, eax
add esp, 4
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
call fcn.1001c95a
push eax
lea eax, [ebp + 0x10]
push esi
push eax
lea edx, [ebp + 0x28]
lea ecx, [ebp - 0x148]
call fcn.10032db0
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x208]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x178]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0xe
call fcn.10016cae
xor eax, eax
lea ecx, [ebp - 0x128]
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x148]
push eax
call fcn.1001bef9
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x128]
call fcn.1001c059
push ebx
push 1
lea ecx, [ebp - 0x148]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.10016cae
jmp 0x100a75a0
xor ebx, ebx
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x1c8]
push ebx
call fcn.1001cd44
push ebx
lea edx, [ebp - 0x2b8]
mov dword [ebp - 0x12c], eax
mov ecx, eax
call fcn.1001cd44
pop ecx
pop ecx
mov dword [ebp - 0xfc], eax
mov ecx, ebx
mov dword [ebp - 0x44], 0x6c066f04
mov esi, ebx
mov dword [ebp - 0x40], 0x75107805
mov dword [ebp - 0x3c], 0x5107807
mov dword [ebp - 0x38], 0x5efa13ac
mov dword [ebp - 0x34], 0xe3a19c9a
mov dword [ebp - 0x30], 0xb109b9d8
mov dword [ebp - 0x2c], 0x7e0b01a2
mov dword [ebp - 0x28], 0x74037411
mov dword [ebp - 0x24], 0x870e7a0f
mov dword [ebp - 0x20], 0x450a7a00
mov dword [ebp - 0x1c], 0x89087e0c
mov dword [ebp - 0x18], 0x9212910d
mov dword [ebp - 0x14], 0x97029409
mov dword [ebp - 0x10], 0x55139d01
cmp ecx, 0xa
jne 0x100a763e
push 0x10
pop esi
push 0x18
pop ecx
jmp 0x100a766a
movzx eax, byte [ebp + ecx - 0x43]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a765e
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x44]
mov byte [ebp + eax - 0x268], dl
add ecx, 2
cmp ecx, 0x38
jb 0x100a7631
lea eax, [ebp - 0x268]
mov byte [ebp - 0x254], bl
push eax
lea ecx, [ebp - 0xac]
call fcn.1001b5bd
mov byte [ebp - 4], 0x10
lea edi, [ebp - 0x268]
xor eax, eax
mov dword [ebp - 0x2c], 0x6e00660c
stosd dword es:[edi], eax
mov ecx, ebx
mov dword [ebp - 0x28], 0x76027304
mov esi, ebx
mov dword [ebp - 0x24], 0x6f067207
mov dword [ebp - 0x20], 0x710a8008
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0x72057d0b
mov dword [ebp - 0x18], 0x7b0d7609
mov dword [ebp - 0x14], 0x4e048701
stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0x92030528
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
cmp ecx, 0x1a
jne 0x100a76e5
push 4
pop esi
push 0x1c
pop ecx
jmp 0x100a7711
movzx eax, byte [ebp + ecx - 0x2b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7705
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2c]
mov byte [ebp + eax - 0x1d8], dl
add ecx, 2
cmp ecx, 0x20
jb 0x100a76d8
lea eax, [ebp - 0x1d8]
mov byte [ebp - 0x1ca], bl
push eax
lea ecx, [ebp - 0x1f0]
call fcn.1001b5bd
mov ebx, dword [ebp + 0x40]
lea edi, [ebp - 0x1d8]
mov byte [ebp - 4], 0x11
xor eax, eax
stosd dword es:[edi], eax
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp esi, ebx
je 0x100a7fc7
mov byte [ebp - 0x49], 1
push 7
lea ecx, [ebp - 0x170]
call fcn.1001be44
mov ecx, dword [ebp - 0xfc]
lea edi, [esi + 0x78]
mov edx, edi
mov byte [ebp - 4], 0x12
call fcn.10028d0a
test al, al
je 0x100a778c
mov ecx, dword [ebp - 0xfc]
push edi
call fcn.1001c95a
mov edi, eax
jmp 0x100a7792
lea edi, [ebp - 0x170]
sub esp, 0x18
lea eax, [esi + 0x48]
mov ecx, esp
mov dword [ebp - 0x110], esp
push eax
call fcn.10018f9d
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea edx, [esi + 0x78]
mov ecx, esp
push edx
call fcn.10018f9d
mov edx, dword [ebp - 0x84]
lea eax, [esi + 0xb8]
push eax
push 1
push 0
lea eax, [esi + 0xa8]
mov byte [ebp - 4], 0x12
push 0
push eax
mov ecx, edi
call fcn.1009da01
mov ecx, dword [ebp - 0xfc]
lea eax, [esi + 0x78]
add esp, 0x44
push edi
push eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
cmp byte [ebp + 0xc], 0
je 0x100a782a
sub esp, 0x18
lea eax, [esi + 0x78]
mov ecx, esp
push eax
call fcn.10018f9d
push dword [ebp - 0x84]
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0x10]
push edi
push dword [ebp - 0x130]
lea edx, [ebp + 0x28]
push eax
call fcn.1002de67
add esp, 0x28
mov edi, dword [ebp - 0x12c]
lea edx, [ebp - 0x1f0]
mov ecx, edi
call fcn.10093557
test al, al
je 0x100a7a24
lea eax, [ebp - 0x1f0]
mov ecx, edi
push eax
call fcn.1001c95a
lea edx, [esi + 0x78]
mov ecx, eax
call fcn.1001cde4
test al, al
je 0x100a7a24
cmp byte [ebp + 0xc], 0
je 0x100a7a24
xor ecx, ecx
mov dword [ebp - 0xec], 0x71087405
mov dword [ebp - 0xe8], 0x720b6410
xor edi, edi
mov dword [ebp - 0xe4], 0x7f026e03
mov dword [ebp - 0xe0], 0x1652e208
mov dword [ebp - 0xdc], 0xf7c965fd
mov dword [ebp - 0xd8], 0x7d0c7c07
mov dword [ebp - 0xd4], 0x7c128409
mov dword [ebp - 0xd0], 0x850f840d
mov dword [ebp - 0xcc], 0x7c14470a
mov dword [ebp - 0xc8], 0x8b168200
mov dword [ebp - 0xc4], 0x87118617
mov dword [ebp - 0xc0], 0x8b189304
mov dword [ebp - 0xbc], 0x8d15a101
mov dword [ebp - 0xb8], 0x9806a40e
mov word [ebp - 0xb4], 0xa413
cmp ecx, 0xc
jne 0x100a7915
push 8
pop edi
add ecx, 6
jmp 0x100a7944
movzx eax, byte [ebp + ecx - 0xeb]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7938
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xec]
mov byte [ebp + eax - 0x28], dl
add ecx, 2
cmp ecx, 0x3a
jb 0x100a7908
lea eax, [ebp - 0x28]
mov byte [ebp - 0xf], 0
push eax
lea ecx, [ebp - 0x148]
call fcn.1001b5bd
mov edi, eax
push ecx
mov ecx, dword [ebp - 0x12c]
lea eax, [ebp - 0x1f0]
push eax
mov byte [ebp - 4], 0x14
call fcn.1001c95a
push eax
lea eax, [ebp + 0x10]
push edi
push eax
lea edx, [ebp + 0x28]
lea ecx, [ebp - 0x64]
call fcn.10032db0
add esp, 0x10
push 0
push 1
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x16
call fcn.10016cae
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x278]
stosw word es:[edi], ax
lea eax, [ebp - 0x64]
push eax
call fcn.1001bef9
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x16
call fcn.1001c059
push 0
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.10016cae
cmp byte [ebp - 0x65], 0
jne 0x100a7f92
xor ecx, ecx
mov dword [ebp - 0x3c], 0x7608620c
mov dword [ebp - 0x38], 0x790f6407
xor edi, edi
mov dword [ebp - 0x34], 0x77067701
mov dword [ebp - 0x30], 0x840e8002
mov dword [ebp - 0x2c], 0x7404780a
mov dword [ebp - 0x28], 0x8000830b
mov dword [ebp - 0x24], 0x2e0c8505
mov dword [ebp - 0x20], 0xae688ea2
mov dword [ebp - 0x1c], 0x982e4c4d
mov dword [ebp - 0x18], 0x8409801a
mov dword [ebp - 0x14], 0x930d8210
mov word [ebp - 0x10], 0x9503
cmp ecx, 0x1a
jne 0x100a7a92
push 0xc
pop edi
add ecx, 0xa
jmp 0x100a7abe
movzx eax, byte [ebp + ecx - 0x3b]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7ab2
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x3c]
mov byte [ebp + eax - 0x144], dl
add ecx, 2
cmp ecx, 0x2e
jb 0x100a7a85
lea eax, [ebp - 0x144]
mov byte [ebp - 0x133], 0
push eax
lea ecx, [ebp - 0x2a0]
call fcn.1001b5bd
mov ecx, dword [ebp - 0xf4]
mov edx, eax
push 0
mov byte [ebp - 4], 0x18
call fcn.1001cd44
pop ecx
push 0
push 1
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x12
call fcn.10016cae
xor eax, eax
mov dword [ebp - 0x90], 0x6c007402
lea edi, [ebp - 0x144]
mov word [ebp - 0x8c], 0x6901
stosd dword es:[edi], eax
xor edx, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
movzx ecx, byte [ebp + edx - 0x8f]
sub ecx, edx
dec ecx
jns 0x100a7b4e
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x90]
add edx, 2
mov byte [ebp + eax - 0xf0], cl
cmp edx, 6
jb 0x100a7b2f
lea eax, [ebp - 0xf0]
mov byte [ebp - 0xed], 0
push eax
lea ecx, [ebp - 0x64]
call fcn.1001b5bd
mov ecx, dword [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x19
call fcn.1001cac0
neg al
mov byte [ebp - 4], 0x12
push 0
sbb al, al
lea ecx, [ebp - 0x64]
inc al
push 1
mov byte [ebp - 0x47], al
call fcn.10016cae
cmp byte [ebp - 0x47], 0
je 0x100a7c79
xor ecx, ecx
mov dword [ebp - 0x60], 0x76026501
mov dword [ebp - 0x5c], 0x7f4a930e
xor edi, edi
mov dword [ebp - 0x58], 0xe4848582
mov dword [ebp - 0x54], 0x7ccf105d
mov dword [ebp - 0x50], 0x6e00ba69
cmp ecx, 4
jne 0x100a7be2
push 0xe
pop edi
add ecx, 0xc
jmp 0x100a7c0e
movzx eax, byte [ebp + ecx - 0x5f]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7c02
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x60]
mov byte [ebp + eax - 0x10c], dl
add ecx, 2
cmp ecx, 0x14
jb 0x100a7bd5
push 6
lea ecx, [ebp - 0x200]
mov byte [ebp - 0x109], 0
call fcn.1001be44
mov edi, eax
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x64]
call fcn.1001b5bd
mov ecx, dword [ebp - 0x88]
push edi
push eax
mov byte [ebp - 4], 0x1b
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.10016cae
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x12
call fcn.1001c059
and dword [ebp - 0x10c], 0
and dword [ebp - 0xf0], 0
xor ecx, ecx
mov dword [ebp - 0x64], 0xee106a00
xor edi, edi
mov dword [ebp - 0x60], 0x53e732f
mov dword [ebp - 0x5c], 0x29397a6b
mov dword [ebp - 0x58], 0xc1fe09fd
mov dword [ebp - 0x54], 0x76025cc0
mov word [ebp - 0x50], 0x6901
cmp ecx, 2
jne 0x100a7cba
push 0x10
pop edi
add ecx, 0xe
jmp 0x100a7ce6
movzx eax, byte [ebp + ecx - 0x63]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7cda
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x64]
mov byte [ebp + eax - 0x100], dl
add ecx, 2
cmp ecx, 0x16
jb 0x100a7cad
lea eax, [ebp - 0x100]
mov byte [ebp - 0xfd], 0
push eax
lea ecx, [ebp - 0x24]
call fcn.1001b5bd
mov ecx, dword [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x1c
call fcn.1001c95a
push 0
push 1
lea ecx, [ebp - 0x24]
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0x12
call fcn.10016cae
and dword [ebp - 0x100], 0
lea ecx, [ebp - 0x128]
push 6
call fcn.1001be44
push 0
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x1d
call fcn.1001be44
mov ecx, dword [ebp - 0xf8]
xor edi, edi
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x47], 1
call fcn.1001c595
mov dword [ebp - 0x110], eax
test eax, eax
jle 0x100a7e0a
cmp byte [ebp - 0x47], 0
je 0x100a7ec4
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0x188]
push eax
push edi
lea eax, [ebp - 0x1a0]
push eax
call fcn.1001c8c8
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1f
call fcn.1001cbc6
test al, al
je 0x100a7de4
mov eax, ecx
lea ecx, [ebp - 0x128]
push eax
call fcn.1001c98c
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1001c228
lea eax, [esi + 0x78]
push eax
lea ecx, [ebp - 0x64]
call fcn.100347de
test eax, eax
lea ecx, [ebp - 0x64]
push 0
push 1
setne byte [ebp - 0x47]
call fcn.10016cae
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1e
call fcn.1001c059
inc edi
cmp edi, dword [ebp - 0x110]
jl 0x100a7d72
cmp byte [ebp - 0x47], 0
je 0x100a7ec4
lea eax, [esi + 0x78]
push eax
lea ecx, [ebp - 0x288]
call fcn.1001bef9
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x128]
call fcn.1001c98c
mov dword [ebp - 0x80], 0x6c007402
xor edx, edx
mov word [ebp - 0x7c], 0x6901
movzx ecx, byte [ebp + edx - 0x7f]
sub ecx, edx
dec ecx
jns 0x100a7e5a
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x80]
add edx, 2
mov byte [ebp + eax - 0x114], cl
cmp edx, 6
jb 0x100a7e3e
lea eax, [ebp - 0x114]
mov byte [ebp - 0x111], 0
push eax
lea ecx, [ebp - 0x24]
call fcn.1001b5bd
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x21
push ecx
mov ecx, dword [ebp - 0x88]
push eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.10016cae
and dword [ebp - 0x114], 0
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x1e
call fcn.1001c059
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x1d
call fcn.1001c059
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x12
call fcn.1001c059
xor ecx, ecx
mov dword [ebp - 0x28], 0x6c086d04
mov dword [ebp - 0x24], 0x6b066e05
xor edi, edi
mov dword [ebp - 0x20], 0x61047701
mov dword [ebp - 0x1c], 0x7e0a6398
mov dword [ebp - 0x18], 0x6e077109
mov dword [ebp - 0x14], 0x89027203
mov word [ebp - 0x10], 0x7e00
cmp ecx, 0xa
jne 0x100a7f23
push 4
pop edi
add ecx, 2
jmp 0x100a7f4c
movzx eax, byte [ebp + ecx - 0x27]
lea edx, [edi - 1]
sub eax, ecx
add edx, eax
jns 0x100a7f43
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x28]
mov byte [ebp + eax - 0x74], dl
add ecx, 2
cmp ecx, 0x1a
jb 0x100a7f16
lea eax, [ebp - 0x74]
mov byte [ebp - 0x69], 0
push eax
lea ecx, [ebp - 0x24]
call fcn.1001b5bd
mov ecx, dword [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x22
call fcn.1001c95a
lea edx, [esi + 0x78]
mov ecx, eax
call fcn.1001cde4
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.10016cae
xor eax, eax
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x11
call fcn.1001c059
add esi, 0xf0
cmp esi, ebx
jne 0x100a7757
cmp byte [ebp + 0xc], 0
je 0x100a7fc7
push ecx
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp + 0x28]
call fcn.100329ee
pop ecx
pop ecx
mov ecx, dword [ebp - 0x118]
call fcn.100317d4
cmp byte [ebp - 0x65], 0
je 0x100a8321
xor ecx, ecx
mov dword [ebp - 0x3c], 0x65006d01
mov dword [ebp - 0x38], 0x9493fe12
xor esi, esi
mov dword [ebp - 0x34], 0x133155c3
mov dword [ebp - 0x30], 0xc786ba7d
mov dword [ebp - 0x2c], 0x86fd7a85
mov dword [ebp - 0x28], 0x68034c24
mov dword [ebp - 0x24], 0x6a0c770a
mov dword [ebp - 0x20], 0x810d700e
mov dword [ebp - 0x1c], 0x7a068409
mov dword [ebp - 0x18], 0x81058708
mov dword [ebp - 0x14], 0x7a028204
mov dword [ebp - 0x10], 0x810b8e07
cmp ecx, 4
jne 0x100a8041
push 0x12
pop esi
push 0x14
pop ecx
jmp 0x100a806d
movzx eax, byte [ebp + ecx - 0x3b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a8061
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x3c]
mov byte [ebp + eax - 0x128], dl
add ecx, 2
cmp ecx, 0x30
jb 0x100a8034
push 7
lea ecx, [ebp - 0x200]
mov byte [ebp - 0x119], 0
call fcn.1001be44
mov esi, eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x24]
call fcn.1001b5bd
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
push esi
push eax
mov byte [ebp - 4], 0x24
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.10016cae
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x11
call fcn.1001c059
xor eax, eax
mov dword [ebp - 0x3c], 0x60116300
lea edi, [ebp - 0x128]
mov dword [ebp - 0x38], 0xd80cb810
stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x34], 0x8e53ed08
xor esi, esi
mov dword [ebp - 0x30], 0x180ac08a
mov dword [ebp - 0x2c], 0x482b11c
stosd dword es:[edi], eax
mov dword [ebp - 0x28], 0xd690b6e
mov dword [ebp - 0x24], 0xc790a7b
mov dword [ebp - 0x20], 0x382096c
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0x7720272
mov dword [ebp - 0x18], 0xe890886
mov dword [ebp - 0x14], 0x585017c
stosd dword es:[edi], eax
mov word [ebp - 0x10], 0x687
mov byte [ebp - 0xe], 0x86
cmp ecx, 2
jne 0x100a8146
push 0x11
pop esi
push esi
pop ecx
jmp 0x100a8172
movzx eax, byte [ebp + ecx - 0x3b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a8166
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x3c]
mov byte [ebp + eax - 0x170], dl
add ecx, 2
cmp ecx, 0x2f
jb 0x100a813a
xor ecx, ecx
mov byte [ebp - 0x161], 0
mov dword [ebp - 0x78], 0x6017700
xor esi, esi
mov dword [ebp - 0x74], 0x3770271
mov dword [ebp - 0x70], 0x478057a
mov word [ebp - 0x6c], 0x174
mov byte [ebp - 0x6a], 0x72
cmp ecx, 2
jne 0x100a81b1
xor esi, esi
xor ecx, ecx
inc esi
inc ecx
jmp 0x100a81da
movzx eax, byte [ebp + ecx - 0x77]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a81d1
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x78]
mov byte [ebp + eax - 0x80], dl
add ecx, 2
cmp ecx, 0xf
jb 0x100a81a4
xor ecx, ecx
mov byte [ebp - 0x79], 0
mov dword [ebp - 0x38], 0x31083a0d
xor esi, esi
mov dword [ebp - 0x34], 0x38033600
mov dword [ebp - 0x30], 0x3d123710
mov dword [ebp - 0x2c], 0x3f0e3e06
mov dword [ebp - 0x28], 0x4a0f490b
mov dword [ebp - 0x24], 0x4b114704
mov dword [ebp - 0x20], 0x4b05470c
mov dword [ebp - 0x1c], 0x9ef51506
mov dword [ebp - 0x18], 0x4e0a67b5
mov dword [ebp - 0x14], 0x56095407
mov dword [ebp - 0x10], 0x57025501
cmp ecx, 0x1c
jne 0x100a8244
push 6
pop esi
push 0x20
pop ecx
jmp 0x100a826d
movzx eax, byte [ebp + ecx - 0x37]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100a8264
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x38]
mov byte [ebp + eax - 0x60], dl
add ecx, 2
cmp ecx, 0x2c
jb 0x100a8237
lea eax, [ebp - 0x60]
mov byte [ebp - 0x4d], 0
push eax
lea ecx, [ebp - 0x148]
call fcn.1001b5bd
push eax
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x25
call fcn.1001bef9
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x2a0]
call fcn.1001b5bd
mov esi, eax
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x24]
call fcn.1001b5bd
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x28
push ecx
push esi
push eax
mov ecx, ebx
call fcn.1001c95a
mov ecx, eax
call fcn.1001c95a
mov ecx, eax
call fcn.1001c0d6
push 0
push 1
lea ecx, [ebp - 0x24]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x2a0]
call fcn.10016cae
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x25
call fcn.1001c059
push 0
push 1
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x11
call fcn.10016cae
jmp 0x100a8327
mov ebx, dword [ebp - 0xf4]
mov eax, dword [ebp + 0x40]
mov edi, dword [eax + 4]
mov esi, dword [eax]
jmp 0x100a8344
push 0
lea ecx, [esi + 0x78]
mov edx, ebx
call fcn.1009d437
pop ecx
add esi, 0xf0
cmp esi, edi
jne 0x100a8331
mov bl, byte [ebp - 0x49]
test bl, bl
je 0x100a8366
cmp dword [ebp - 0x84], 1
jne 0x100a8366
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x44]
call fcn.1009b03b
push 0
push 1
lea ecx, [ebp - 0x1f0]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0xac]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x250]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x2b8]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x220]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x1c8]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp + 0x28]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp + 0x10]
call fcn.10016cae
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret