Function at 0x100c98c6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x1014e931
call fcn.1014399c
sub esp, 0x53c
push ebx
push esi
push edi
mov edi, ecx
test dl, dl
je 0x100caf4f
xor ebx, ebx
mov dword [ebp - 0x198], 0x7510770c
mov dword [ebp - 0x194], 0x57097e07
mov ecx, ebx
mov dword [ebp - 0x190], 0x7e037805
mov esi, ebx
mov dword [ebp - 0x18c], 0x730e2d08
mov dword [ebp - 0x188], 0x33115412
mov dword [ebp - 0x184], 0x800d840b
mov dword [ebp - 0x180], 0x24136101
mov dword [ebp - 0x17c], 0x93d9a11
mov dword [ebp - 0x178], 0x3646ec36
mov dword [ebp - 0x174], 0xf38d3d1c
mov dword [ebp - 0x170], 0xc68cc72
mov dword [ebp - 0x16c], 0x148d066d
mov dword [ebp - 0x168], 0x4801380
mov dword [ebp - 0x164], 0x8b1595
mov dword [ebp - 0x160], 0x2990a81
mov dword [ebp - 0x15c], 0x16900f92
mov byte [ebp - 0x158], 0x92
cmp ecx, 0x1a
jne 0x100c999d
push 0x13
pop esi
push 0x2b
pop ecx
jmp 0x100c99d0
movzx eax, byte [ebp + ecx - 0x197]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100c99c0
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x198]
mov word [ebp + eax*2 - 0x334], dx
add ecx, 2
cmp ecx, 0x41
jb 0x100c9990
xor eax, eax
lea ecx, [ebp - 0x2a4]
mov word [ebp - 0x306], ax
lea eax, [ebp - 0x334]
push eax
call fcn.100140d4
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x2d4]
push eax
mov dword [ebp - 4], ebx
call fcn.10028a72
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 2
call fcn.10014706
push 0xc
pop ecx
xor eax, eax
lea edi, [ebp - 0x334]
rep stosd dword es:[edi], eax
push ebx
xor dl, dl
lea ecx, [ebp - 0x2d4]
call fcn.1003929f
pop ecx
mov dword [ebp - 0x1e8], 0x72057403
mov ecx, ebx
mov dword [ebp - 0x1e4], 0x79066e02
mov esi, ebx
mov dword [ebp - 0x1e0], 0x41231712
mov dword [ebp - 0x1dc], 0xc06a53d1
mov dword [ebp - 0x1d8], 0xca30639b
mov dword [ebp - 0x1d4], 0x5968fca8
mov dword [ebp - 0x1d0], 0x65007d9d
mov dword [ebp - 0x1cc], 0x86075301
mov word [ebp - 0x1c8], 0x8304
cmp ecx, 8
jne 0x100c9a9e
push 0x12
pop esi
push 0x18
pop ecx
jmp 0x100c9ad1
movzx eax, byte [ebp + ecx - 0x1e7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100c9ac1
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1e8]
mov word [ebp + eax*2 - 0x28c], dx
add ecx, 2
cmp ecx, 0x22
jb 0x100c9a91
xor eax, eax
lea ecx, [ebp - 0x2ec]
mov word [ebp - 0x27c], ax
lea eax, [ebp - 0x28c]
push eax
call fcn.100140d4
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x278]
push eax
mov byte [ebp - 4], 3
call fcn.10028a72
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 5
call fcn.10014706
xor eax, eax
lea edi, [ebp - 0x28c]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x278]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.10038760
test al, al
je 0x100caf2e
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x130]
call fcn.10072b97
push ebx
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 6
push eax
push 1
lea eax, [ebp - 0x14]
mov dword [ebp - 0x12c], ebx
push eax
push ebx
mov dword [ebp - 0x14], 4
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x144], 0
je 0x100caf12
cmp dword [ebp - 0x264], 8
lea ecx, [ebp - 0x12c]
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push ecx
push eax
call dword [ebp - 0x144]
pop ecx
pop ecx
test eax, eax
jne 0x100caf12
mov dword [ebp - 0x1a0], 0x23062109
mov ecx, ebx
mov dword [ebp - 0x19c], 0x4a04271e
mov esi, ebx
mov dword [ebp - 0x198], 0x57026e16
mov dword [ebp - 0x194], 0x7b1c7f0b
mov dword [ebp - 0x190], 0x85108814
mov dword [ebp - 0x18c], 0x8720ae0a
mov dword [ebp - 0x188], 0x9adc8bca
mov dword [ebp - 0x184], 0x350ed601
mov dword [ebp - 0x180], 0x39198c1a
mov dword [ebp - 0x17c], 0x8218581d
mov dword [ebp - 0x178], 0x75059212
mov dword [ebp - 0x174], 0x8e074313
mov dword [ebp - 0x170], 0x9b1b9c0f
mov dword [ebp - 0x16c], 0x72019315
mov dword [ebp - 0x168], 0x95089e0c
mov dword [ebp - 0x164], 0xa111990a
mov dword [ebp - 0x160], 0x8c007c03
mov dword [ebp - 0x15c], 0xaa0dad17
cmp ecx, 0x14
jne 0x100c9c73
push 0xa
pop esi
push 0x1c
pop ecx
jmp 0x100c9ca5
movzx eax, byte [ebp + ecx - 0x19f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100c9c96
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1a0]
mov byte [ebp + eax - 0x1e8], dl
add ecx, 2
cmp ecx, 0x48
jb 0x100c9c66
lea eax, [ebp - 0x1e8]
mov byte [ebp - 0x1c9], bl
push eax
lea ecx, [ebp - 0x2a4]
call fcn.1001b5bd
push 8
pop ecx
xor eax, eax
mov byte [ebp - 4], 7
lea edi, [ebp - 0x1e8]
rep stosd dword es:[edi], eax
push 0x2a689
call fcn.10018776
mov byte [ebp - 0x134], al
mov dword [esp], 0x4df33
call fcn.10018776
mov byte [ebp - 0x1c4], al
mov dword [esp], 0x4c145
call fcn.10018776
mov byte [ebp - 0x14], al
mov dword [esp], 0x565e2
call fcn.10018776
mov edi, dword [ebp + 0xc]
mov byte [ebp - 0x144], al
pop ecx
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x100c9fdb
mov dword [ebp - 0xa8], 0x7828302f
mov ecx, ebx
mov dword [ebp - 0xa4], 0x30342d1d
mov esi, ebx
mov dword [ebp - 0xa0], 0x5e247c0f
mov dword [ebp - 0x9c], 0x53002d16
mov dword [ebp - 0x98], 0x671b313a
mov dword [ebp - 0x94], 0x37064833
mov dword [ebp - 0x90], 0x87365f07
mov dword [ebp - 0x8c], 0x47276f08
mov dword [ebp - 0x88], 0x68156a22
mov dword [ebp - 0x84], 0x8c399a1e
mov dword [ebp - 0x80], 0x4b35582e
mov dword [ebp - 0x7c], 0x9b0e4d0b
mov dword [ebp - 0x78], 0x861a8326
mov dword [ebp - 0x74], 0xa037612b
mov dword [ebp - 0x70], 0x8f25860a
mov dword [ebp - 0x6c], 0x613b9411
mov dword [ebp - 0x68], 0x6c316c32
mov dword [ebp - 0x64], 0x8c019323
mov dword [ebp - 0x60], 0xa018702c
mov dword [ebp - 0x5c], 0x892da017
mov dword [ebp - 0x58], 0xbf20a009
mov dword [ebp - 0x54], 0xc32a9a13
mov dword [ebp - 0x50], 0x8230a502
mov dword [ebp - 0x4c], 0xca388921
mov dword [ebp - 0x48], 0x4a6d3907
mov dword [ebp - 0x44], 0xd9c2a33
mov dword [ebp - 0x40], 0x12b704d3
mov dword [ebp - 0x3c], 0xcac03ad
mov dword [ebp - 0x38], 0x29ad19de
mov dword [ebp - 0x34], 0x148f10df
mov dword [ebp - 0x30], 0x1fb805c3
mov word [ebp - 0x2c], 0x1ce7
mov byte [ebp - 0x2a], 0xc9
cmp ecx, 0x60
jne 0x100c9e3b
push 7
pop esi
push 0x65
pop ecx
jmp 0x100c9e6d
movzx eax, byte [ebp + ecx - 0xa7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100c9e5e
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xa8]
mov byte [ebp + eax - 0x194], dl
add ecx, 2
cmp ecx, 0x7f
jb 0x100c9e2e
lea eax, [ebp - 0x194]
mov byte [ebp - 0x158], bl
push eax
lea ecx, [ebp - 0x210]
call fcn.1001b5bd
push 0x3d
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 8
push ebx
push eax
call fcn.10123950
add esp, 0xc
mov dword [ebp - 0x140], 0x32002302
mov dword [ebp - 0x13c], 0x26022a01
mov esi, ebx
mov ecx, ebx
cmp ecx, 6
jne 0x100c9ec5
push 2
pop esi
jmp 0x100c9ef4
movzx eax, byte [ebp + ecx - 0x13f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100c9ee8
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x140]
mov byte [ebp + eax - 0x18], dl
add ecx, 2
cmp ecx, 8
jb 0x100c9ebb
lea eax, [ebp - 0x18]
mov byte [ebp - 0x15], bl
push eax
lea ecx, [ebp - 0x228]
call fcn.1001b5bd
mov byte [ebp - 4], 9
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x18], ebx
jmp 0x100c9fb4
push ecx
mov edx, esi
lea ecx, [ebp - 0x260]
call fcn.10071973
pop ecx
push eax
lea edx, [ebp - 0x210]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x248]
call fcn.100458c6
pop ecx
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xb
push ecx
mov edx, eax
lea ecx, [ebp - 0x128]
call fcn.10045cdb
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x248]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xe
call fcn.10016cae
push dword [ebp - 0x12c]
xor dl, dl
lea ecx, [ebp - 0x128]
push 0x6bab
push 0x5bb6
call fcn.100c98c6
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x128]
push ebx
push 1
call fcn.10016cae
add esi, 0x18
cmp esi, edi
jne 0x100c9f20
push ebx
push 1
lea ecx, [ebp - 0x228]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x210]
call fcn.10016cae
mov edi, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebp - 0x21c], ebx
mov edx, ebx
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x214], edx
mov esi, dword [ebp + 0xc]
mov byte [ebp - 4], 0xf
mov edi, dword [edi + 4]
mov esi, dword [esi]
cmp esi, edi
je 0x100ca098
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1f8], esi
cmp eax, ecx
jae 0x100ca057
cmp ebx, eax
ja 0x100ca057
sub eax, ebx
sar eax, 2
mov dword [ebp - 0x138], eax
cmp ecx, edx
jne 0x100ca04c
push ecx
lea ecx, [ebp - 0x21c]
call fcn.1004d2fa
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x21c]
test ecx, ecx
je 0x100ca07f
mov eax, dword [ebx + eax*4]
mov dword [ecx], eax
jmp 0x100ca07f
cmp ecx, edx
jne 0x100ca079
push ecx
lea ecx, [ebp - 0x21c]
call fcn.1004d2fa
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
mov ebx, dword [ebp - 0x21c]
test ecx, ecx
je 0x100ca07f
mov dword [ecx], esi
add ecx, 4
add esi, 0xcc
mov dword [ebp - 0x218], ecx
cmp esi, edi
jne 0x100ca005
xor ebx, ebx
mov dword [ebp - 0x204], ebx
mov dword [ebp - 0x200], ebx
mov dword [ebp - 0x1fc], ebx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x1f0], ebx
mov dword [ebp - 0x1ec], ebx
call fcn.10036a37
mov dword [ebp - 0x1f0], eax
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x11
call fcn.10032984
mov byte [ebp - 4], 0x12
mov eax, ebx
mov dword [ebp - 0x18], ebx
test eax, eax
lea edi, [ebp - 0x21c]
lea ecx, [ebp - 0x204]
cmovne edi, ecx
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x100ca338
mov dword [ebp - 0x1f4], 4
mov eax, dword [esi]
lea edx, [ebp - 0x2a4]
add eax, 0x30
lea ecx, [ebp - 0x248]
push eax
call fcn.10036e02
pop ecx
push dword [ebp - 0x1c4]
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x128]
call fcn.100be5ee
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x15
call fcn.10016cae
push ebx
lea eax, [ebp - 0x230]
mov dword [ebp - 0x14c], ebx
push eax
push 2
lea eax, [ebp - 0x1f4]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x230], 0
je 0x100ca318
cmp dword [ebp - 0x114], 0x10
lea ecx, [ebp - 0x14c]
push ebx
push ecx
lea eax, [ebp - 0x128]
cmovae eax, dword [ebp - 0x128]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x12c]
call dword [ebp - 0x230]
add esp, 0x14
test eax, eax
jne 0x100ca318
cmp dword [ebp - 0x14c], eax
je 0x100ca318
or dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0x22c]
push 4
pop eax
push ebx
push ecx
push eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x22c], 0
je 0x100ca22c
push dword [ebp - 0x14c]
call dword [ebp - 0x22c]
pop ecx
cmp eax, 0x64
jne 0x100ca22c
push ebx
lea eax, [ebp - 0x148]
mov dword [ebp - 0x1c], 4
push eax
push 8
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x148], 0
je 0x100ca22c
push ebx
push dword [ebp - 0x14c]
call dword [ebp - 0x148]
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
jmp 0x100ca22f
mov eax, dword [ebp - 0x20]
test eax, eax
js 0x100ca26f
mov edx, eax
lea ecx, [ebp - 0x260]
call fcn.10028cd7
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x1f0]
call fcn.100cb169
mov ecx, eax
call fcn.100347b9
push ebx
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x15
call fcn.10016cae
jmp 0x100ca2e4
mov ecx, dword [ebp - 0x200]
cmp esi, ecx
jae 0x100ca2b9
mov edx, dword [ebp - 0x204]
cmp edx, esi
ja 0x100ca2b9
mov eax, esi
sub eax, edx
sar eax, 2
mov dword [ebp - 0x1c], eax
cmp ecx, dword [ebp - 0x1fc]
jne 0x100ca2b0
push ecx
lea ecx, [ebp - 0x204]
call fcn.1004d2fa
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x204]
test ecx, ecx
je 0x100ca2db
mov eax, dword [edx + eax*4]
jmp 0x100ca2d9
cmp ecx, dword [ebp - 0x1fc]
jne 0x100ca2d3
push ecx
lea ecx, [ebp - 0x204]
call fcn.1004d2fa
mov ecx, dword [ebp - 0x200]
test ecx, ecx
je 0x100ca2db
mov eax, dword [esi]
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x200], ecx
push ebx
lea eax, [ebp - 0x138]
mov dword [ebp - 0x1c], 4
push eax
push 5
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x138], 0
je 0x100ca318
push dword [ebp - 0x14c]
call dword [ebp - 0x138]
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x12
call fcn.10016cae
add esi, 4
cmp esi, edi
jne 0x100ca105
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x100ca95b
mov edi, dword [ebp - 0x204]
cmp edi, dword [ebp - 0x200]
je 0x100ca6f9
mov dword [ebp - 0x124], 0x2f013402
mov ecx, ebx
mov dword [ebp - 0x120], 0x570a3103
mov esi, ebx
mov dword [ebp - 0x11c], 0xceef628c
mov dword [ebp - 0x118], 0x15d8708c
mov word [ebp - 0x114], 0x2900
cmp ecx, 6
jne 0x100ca394
push 0xa
pop esi
add ecx, 8
jmp 0x100ca3c6
movzx eax, byte [ebp + ecx - 0x123]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca3b7
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x124]
mov byte [ebp + eax - 0x140], dl
add ecx, 2
cmp ecx, 0x12
jb 0x100ca387
lea eax, [ebp - 0x140]
mov byte [ebp - 0x13c], bl
push eax
lea ecx, [ebp - 0x248]
call fcn.1001b5bd
push ecx
mov byte [ebp - 4], 0x17
push ecx
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x140], ebx
mov byte [ebp - 0x13c], bl
call fcn.100cb0a5
mov byte [ebp - 4], 0x18
mov ecx, ebx
mov dword [ebp - 0xb8], 0x77204d3b
mov esi, ebx
mov dword [ebp - 0xb4], 0x483a311b
mov dword [ebp - 0xb0], 0x61397b13
mov dword [ebp - 0xac], 0x83167c23
mov dword [ebp - 0xa8], 0x7c305a07
mov dword [ebp - 0xa4], 0x801d882f
mov dword [ebp - 0xa0], 0x6f058c2a
mov dword [ebp - 0x9c], 0x64036b08
mov dword [ebp - 0x98], 0x4f157509
mov dword [ebp - 0x94], 0x47069b2d
mov dword [ebp - 0x90], 0x54379e0c
mov dword [ebp - 0x8c], 0xa3319919
mov dword [ebp - 0x88], 0x783d9032
mov dword [ebp - 0x84], 0xa90da10e
mov dword [ebp - 0x80], 0xa42ea635
mov dword [ebp - 0x7c], 0x5f0b8f04
mov dword [ebp - 0x78], 0xa221b624
mov dword [ebp - 0x74], 0xb328b114
mov dword [ebp - 0x70], 0x6b10ae1a
mov dword [ebp - 0x6c], 0xb8347927
mov dword [ebp - 0x68], 0xb622c526
mov dword [ebp - 0x64], 0xcd1ca40a
mov dword [ebp - 0x60], 0xb03ccd2b
mov dword [ebp - 0x5c], 0xc029ab01
mov dword [ebp - 0x58], 0x8b11ca17
mov dword [ebp - 0x54], 0xcc36ae00
mov dword [ebp - 0x50], 0xdf18d21f
mov dword [ebp - 0x4c], 0xc202e00f
mov dword [ebp - 0x48], 0xe812e41e
mov dword [ebp - 0x44], 0xe5259538
mov dword [ebp - 0x40], 0x24419013
mov dword [ebp - 0x3c], 0x57b37e03
mov dword [ebp - 0x38], 0x29487c18
mov dword [ebp - 0x34], 0x6e40326
mov dword [ebp - 0x30], 0x3335f3bd
mov dword [ebp - 0x2c], 0x2cce3eed
mov byte [ebp - 0x28], 0xdc
cmp ecx, 0x78
jne 0x100ca542
push 0x13
pop esi
add ecx, 0x11
jmp 0x100ca574
movzx eax, byte [ebp + ecx - 0xb7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca565
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xb8]
mov byte [ebp + eax - 0x198], dl
add ecx, 2
cmp ecx, 0x91
jb 0x100ca535
lea eax, [ebp - 0x198]
mov byte [ebp - 0x159], bl
push eax
lea ecx, [ebp - 0x128]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x488]
call fcn.1002243f
push ebx
push 1
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x18
call fcn.10016cae
push 0x40
lea eax, [ebp - 0x198]
push ebx
push eax
call fcn.10123950
add esp, 0xc
mov al, bl
mov esi, edi
test al, al
je 0x100ca5e8
push dword [ebp - 0x134]
lea eax, [ebp - 0x488]
push eax
call fcn.1002225f
pop ecx
pop ecx
push dword [ebp - 0x144]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x1c4]
mov byte [ebp - 0xd], 1
push ecx
push dword [ebp - 0x134]
lea ebx, [eax + 0x60]
push ecx
push dword [ebp - 0x1c4]
lea edi, [eax + 0x30]
push ecx
push dword [ebp - 0x1c4]
lea eax, [ebp - 0x488]
push ecx
push dword [ebp - 0x14]
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
pop ecx
pop ecx
mov edx, edi
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
pop ecx
pop ecx
mov edx, ebx
mov ecx, eax
call fcn.1002243f
lea edx, [ebp - 0x248]
mov ecx, eax
call fcn.1002243f
lea edx, [ebp - 0x2bc]
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
mov al, byte [ebp - 0xd]
add esi, 4
pop ecx
pop ecx
cmp esi, dword [ebp - 0x200]
jne 0x100ca5d0
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x498]
call fcn.100cb14d
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x260]
push dword [ebp - 0x12c]
xor dl, dl
push 0x876
push 0x50ba
call fcn.100c98c6
add esp, 0xc
lea ecx, [ebp - 0x260]
xor ebx, ebx
push ebx
push 1
call fcn.10016cae
lea ecx, [ebp - 0x498]
call fcn.100c98ac
push ebx
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x12
call fcn.10016cae
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1ec], 0
je 0x100ca95b
push ecx
push ecx
lea ecx, [ebp - 0x3e8]
call fcn.100cb0a5
mov byte [ebp - 4], 0x1b
mov ecx, ebx
mov dword [ebp - 0xa8], 0x761e6f19
mov esi, ebx
mov dword [ebp - 0xa4], 0x7030250b
mov dword [ebp - 0xa0], 0x500d7211
mov dword [ebp - 0x9c], 0x54057613
mov dword [ebp - 0x98], 0x7b2b7f25
mov dword [ebp - 0x94], 0x8b208926
mov dword [ebp - 0x90], 0x911c8734
mov dword [ebp - 0x8c], 0x92123d29
mov dword [ebp - 0x88], 0x77044135
mov dword [ebp - 0x84], 0x8c2c972d
mov dword [ebp - 0x80], 0x9f1a9d14
mov dword [ebp - 0x7c], 0x820c922e
mov dword [ebp - 0x78], 0x9c335936
mov dword [ebp - 0x74], 0xd412a80e
mov dword [ebp - 0x70], 0xc42ef33b
mov dword [ebp - 0x6c], 0xddb0f6dc
mov dword [ebp - 0x68], 0xa80aa1fb
mov dword [ebp - 0x64], 0xae07a01d
mov dword [ebp - 0x60], 0x9c215b06
mov dword [ebp - 0x5c], 0x610fb108
mov dword [ebp - 0x58], 0x8902970e
mov dword [ebp - 0x54], 0xb817672f
mov dword [ebp - 0x50], 0xc310aa15
mov dword [ebp - 0x4c], 0xb531bb09
mov dword [ebp - 0x48], 0x921b7332
mov dword [ebp - 0x44], 0xce24ba22
mov dword [ebp - 0x40], 0xcc238e28
mov dword [ebp - 0x3c], 0x8c27d62a
mov dword [ebp - 0x38], 0xba00b301
mov dword [ebp - 0x34], 0xcc16dc18
mov dword [ebp - 0x30], 0xd61fac03
cmp ecx, 0x34
jne 0x100ca81f
push 0xe
pop esi
add ecx, 0xc
jmp 0x100ca851
movzx eax, byte [ebp + ecx - 0xa7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ca842
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xa8]
mov byte [ebp + eax - 0x18c], dl
add ecx, 2
cmp ecx, 0x7c
jb 0x100ca812
lea eax, [ebp - 0x18c]
mov byte [ebp - 0x155], bl
push eax
lea ecx, [ebp - 0x260]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3d8]
call fcn.1002243f
push ebx
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x1b
call fcn.10016cae
push 0x38
lea eax, [ebp - 0x18c]
push ebx
push eax
call fcn.10123950
mov edi, dword [ebp - 0x1f0]
add esp, 0xc
mov byte [ebp - 0xd], bl
mov esi, dword [edi]
mov dword [ebp - 0x20], esi
cmp esi, edi
je 0x100ca8f1
test bl, bl
je 0x100ca8d0
push dword [ebp - 0x134]
lea eax, [ebp - 0x3d8]
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [esi + 0x14]
mov bl, 1
lea ecx, [ebp - 0x3d8]
call fcn.1002243f
lea ecx, [ebp - 0x20]
call fcn.10015064
mov esi, dword [ebp - 0x20]
cmp esi, edi
jne 0x100ca8b8
xor ebx, ebx
push dword [ebp - 0x144]
lea eax, [ebp - 0x3d8]
push eax
call fcn.1002225f
pop ecx
pop ecx
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.100cb14d
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x248]
push dword [ebp - 0x12c]
xor dl, dl
push 0x26e9
push 0x7b7c
call fcn.100c98c6
add esp, 0xc
lea ecx, [ebp - 0x248]
push ebx
push 1
call fcn.10016cae
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x12
call fcn.100c98ac
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 2
jl 0x100ca0dd
cmp dword [ebp - 0x1ec], 0
je 0x100cae9e
call fcn.10015e25
xor edx, edx
mov ecx, 0x1fff00
div ecx
lea edi, [edx + 0x30000000]
mov eax, edi
and eax, 0x800000ff
jns 0x100ca999
dec eax
or eax, 0xffffff00
inc eax
push ecx
push ecx
lea ecx, [ebp - 0x548]
sub edi, eax
call fcn.100cb0a5
mov byte [ebp - 4], 0x1e
mov ecx, ebx
mov dword [ebp - 0x110], 0x6c44601d
mov esi, ebx
mov dword [ebp - 0x10c], 0x74512506
mov dword [ebp - 0x108], 0x74416e4a
mov dword [ebp - 0x104], 0x8358805e
mov dword [ebp - 0x100], 0x7c1f3d43
mov dword [ebp - 0xfc], 0x8f567427
mov dword [ebp - 0xf8], 0x6901863c
mov dword [ebp - 0xf4], 0x825f9032
mov dword [ebp - 0xf0], 0x4f228648
mov dword [ebp - 0xec], 0x760a8a62
mov dword [ebp - 0xe8], 0x98269d1c
mov dword [ebp - 0xe4], 0x7d089c55
mov dword [ebp - 0xe0], 0x7466a42a
mov dword [ebp - 0xdc], 0x6317a352
mov dword [ebp - 0xd8], 0x9f5caf0c
mov dword [ebp - 0xd4], 0x9cc51a13
mov dword [ebp - 0xd0], 0x6bb8da3d
mov dword [ebp - 0xcc], 0x5d28b518
mov dword [ebp - 0xc8], 0x1e768fbd
mov dword [ebp - 0xc4], 0x3cc0abe
mov dword [ebp - 0xc0], 0x2bb31082
mov dword [ebp - 0xbc], 0x4ac29aa
mov dword [ebp - 0xb8], 0x1bac5b97
mov dword [ebp - 0xb4], 0x3fa068b2
mov dword [ebp - 0xb0], 0x5bf5ac1
mov dword [ebp - 0xac], 0x4dc918a5
mov dword [ebp - 0xa8], 0x2c947ba
mov dword [ebp - 0xa4], 0x4bce39ac
mov dword [ebp - 0xa0], 0x7b309cb
mov dword [ebp - 0x9c], 0x12c923aa
mov dword [ebp - 0x98], 0x20cb4e85
mov dword [ebp - 0x94], 0x16d945d6
mov dword [ebp - 0x90], 0x30e211d9
mov dword [ebp - 0x8c], 0x67e928d2
mov dword [ebp - 0x88], 0x34e660c1
mov dword [ebp - 0x84], 0x33d165ed
mov dword [ebp - 0x80], 0x4fe342e6
mov dword [ebp - 0x7c], 0x5dec0fe0
mov dword [ebp - 0x78], 0x46fb2ce4
mov dword [ebp - 0x74], 0x63b738ec
mov dword [ebp - 0x70], 0x6af43ab6
mov dword [ebp - 0x6c], 0x2e0814e4
mov dword [ebp - 0x68], 0x3e065009
mov dword [ebp - 0x64], 0x40003d07
mov dword [ebp - 0x60], 0x13bf64fc
mov dword [ebp - 0x5c], 0x591131c9
mov dword [ebp - 0x58], 0x3716361e
mov dword [ebp - 0x54], 0x211f4c17
mov dword [ebp - 0x50], 0x3b1e2512
mov dword [ebp - 0x4c], 0x2f260e18
mov dword [ebp - 0x48], 0xd291527
mov dword [ebp - 0x44], 0x572e1a22
mov dword [ebp - 0x40], 0x3521541c
mov dword [ebp - 0x3c], 0x24ef2d2a
mov dword [ebp - 0x38], 0x1e0c6937
mov dword [ebp - 0x34], 0x1938493d
mov dword [ebp - 0x30], 0x53416136
mov dword [ebp - 0x2c], 0xf30b3a
mov byte [ebp - 0x28], 0x1e
cmp ecx, 0x3c
jne 0x100cabc3
push 0x13
pop esi
push 0x4d
pop ecx
jmp 0x100cabf5
movzx eax, byte [ebp + ecx - 0x10f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cabe6
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x110]
mov byte [ebp + eax - 0x1c0], dl
add ecx, 2
cmp ecx, 0xe9
jb 0x100cabb6
lea eax, [ebp - 0x1c0]
mov byte [ebp - 0x155], bl
push eax
lea ecx, [ebp - 0x128]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x538]
call fcn.1002243f
push ebx
push 1
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x1e
call fcn.10016cae
push 0x6c
lea eax, [ebp - 0x1c0]
push ebx
push eax
call fcn.10123950
add esp, 0xc
mov byte [ebp - 0xd], bl
push 0x39ff3
call fcn.10018776
pop ecx
mov byte [ebp - 0x138], al
mov ecx, ebx
mov dword [ebp - 0x128], 0xaf122d00
mov esi, ebx
mov dword [ebp - 0x124], 0x54e83709
mov dword [ebp - 0x120], 0x9123bb07
mov dword [ebp - 0x11c], 0x70ad6ac3
mov dword [ebp - 0x118], 0xdd91b1f4
mov dword [ebp - 0x114], 0x31023301
cmp ecx, 2
jne 0x100cacad
push 0x12
pop esi
push esi
pop ecx
jmp 0x100cacdc
movzx eax, byte [ebp + ecx - 0x127]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cacd0
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x128]
mov byte [ebp + eax - 0x20], dl
add ecx, 2
cmp ecx, 0x18
jb 0x100caca1
mov edx, edi
mov byte [ebp - 0x1d], bl
lea ecx, [ebp - 0x304]
call fcn.10028cd7
mov esi, eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x128]
call fcn.1001b5bd
push esi
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x260]
call fcn.10063857
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x128]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x304]
mov byte [ebp - 4], 0x24
call fcn.10016cae
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1f4], esi
mov eax, dword [esi]
mov dword [ebp - 0x148], eax
cmp eax, esi
je 0x100cae3d
mov bl, byte [ebp - 0xd]
add eax, 0x14
push 3
mov dword [ebp - 0x1c], eax
mov esi, eax
pop edi
test bl, bl
je 0x100cad81
push dword [ebp - 0x134]
lea eax, [ebp - 0x538]
push eax
call fcn.1002225f
pop ecx
pop ecx
push dword [ebp - 0x144]
lea eax, [ebp - 0x538]
mov bl, 1
push ecx
push dword [ebp - 0x138]
push ecx
push dword [ebp - 0x134]
push ecx
push dword [ebp - 0x138]
push ecx
push dword [ebp - 0x134]
push ecx
push dword [ebp - 0x134]
push ecx
push dword [ebp - 0x14]
push eax
call fcn.1002225f
pop ecx
pop ecx
mov edx, esi
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [ebp - 0x2bc]
mov ecx, eax
call fcn.1002243f
lea edx, [ebp - 0x260]
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
pop ecx
pop ecx
dec edi
jne 0x100cad69
lea ecx, [ebp - 0x148]
call fcn.10015064
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x1f4]
jne 0x100cad5e
xor ebx, ebx
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x548]
call fcn.100cb14d
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x248]
push dword [ebp - 0x12c]
xor dl, dl
push 0x7b65
push 0x5d96
call fcn.100c98c6
add esp, 0xc
lea ecx, [ebp - 0x248]
push ebx
push 1
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.10016cae
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 0x12
call fcn.100c98ac
push ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], 4
push eax
push 6
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x14], 0
je 0x100caec9
push dword [ebp - 0x12c]
call dword [ebp - 0x14]
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2bc]
call fcn.10016cae
lea ecx, [ebp - 0x1f0]
call fcn.10034f34
mov eax, dword [ebp - 0x204]
test eax, eax
je 0x100caef3
push eax
call fcn.10123626
pop ecx
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x100caf04
push eax
call fcn.10123626
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2a4]
call fcn.10016cae
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x130]
test esi, esi
je 0x100caf2e
mov ecx, esi
call fcn.1005a8c4
push esi
call fcn.10123626
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x278]
call fcn.10014706
push ebx
push 1
lea ecx, [ebp - 0x2d4]
call fcn.10014706
jmp 0x100cafec
push 4
pop ebx
xor esi, esi
mov dword [ebp - 0x130], ebx
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], esi
push eax
push 2
lea eax, [ebp - 0x130]
push eax
push esi
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x14], esi
je 0x100cafec
cmp dword [edi + 0x14], 0x10
jb 0x100caf81
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x18]
push eax
push 0xffffffffffffffff
push edi
push dword [ebp + 0x10]
call dword [ebp - 0x14]
add esp, 0x14
test eax, eax
jne 0x100cafec
cmp dword [ebp - 0x18], esi
je 0x100cafec
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x130], ebx
push eax
push ebx
lea eax, [ebp - 0x130]
push eax
push esi
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x14], esi
je 0x100cafc3
push dword [ebp - 0x18]
call dword [ebp - 0x14]
pop ecx
push esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x130], ebx
push eax
push 5
lea eax, [ebp - 0x130]
push eax
push esi
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x14], esi
je 0x100cafec
push dword [ebp - 0x18]
call dword [ebp - 0x14]
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret