Function at 0x100ce82d
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x101498be
call fcn.1013e250
sub esp, 0x79c
push ebx
mov ebx, edx
push esi
push edi
mov edi, ecx
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x100d08e8
xor ecx, ecx
mov dword [ebp - 0x38], 0x5f007406
mov dword [ebp - 0x34], 0x78097501
xor esi, esi
mov dword [ebp - 0x30], 0x70056c04
mov dword [ebp - 0x2c], 0x3806720d
mov dword [ebp - 0x28], 0xc17f75e1
mov dword [ebp - 0x24], 0x7d027b0a
mov dword [ebp - 0x20], 0x43078608
mov dword [ebp - 0x1c], 0x820b8b0c
mov word [ebp - 0x18], 0x7c03
cmp ecx, 0xe
jne 0x100ce89e
push 6
pop esi
push 0x12
pop ecx
jmp 0x100ce8cb
movzx eax, byte [ebp + ecx - 0x37]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ce8be
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x38]
mov word [ebp + eax*2 - 0x430], dx
add ecx, 2
cmp ecx, 0x22
jb 0x100ce891
xor eax, eax
lea ecx, [ebp - 0x4e8]
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x430]
push eax
call fcn.10013e17
and dword [ebp - 4], 0
lea ecx, [ebp - 0x394]
push eax
mov edx, edi
call fcn.1002a022
pop ecx
push 0
push 1
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 2
call fcn.10014448
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x430]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x394]
stosw word es:[edi], ax
call fcn.1003a0a4
test al, al
je 0x100d08d9
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x334]
call fcn.10074140
xor ecx, ecx
mov byte [ebp - 4], 3
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0xcc], ecx
push eax
push 1
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], 4
push eax
push ecx
call fcn.100d5716
mov ecx, dword [ebp - 0x10]
add esp, 0x14
test ecx, ecx
je 0x100d08bd
cmp dword [ebp - 0x380], 8
lea edx, [ebp - 0xcc]
lea eax, [ebp - 0x394]
cmovae eax, dword [ebp - 0x394]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x100d08bd
push 0x865f
call fcn.1001965b
mov byte [ebp - 0xc8], al
mov dword [esp], 0x6bcd
call fcn.1001965b
mov byte [ebp - 0x1a0], al
mov dword [esp], 0x122ff
call fcn.1001965b
mov byte [ebp - 0x2f4], al
mov dword [esp], 0x5f37
call fcn.1001965b
mov edi, dword [ebp + 8]
mov byte [ebp - 0xd0], al
pop ecx
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x100ced38
xor ecx, ecx
mov dword [ebp - 0x170], 0x572b6a3d
mov dword [ebp - 0x16c], 0x4133581d
xor esi, esi
mov dword [ebp - 0x168], 0x3a34323a
mov dword [ebp - 0x164], 0x5d292f41
mov dword [ebp - 0x160], 0x86158110
mov dword [ebp - 0x15c], 0x833c8f0e
mov dword [ebp - 0x158], 0x6d2c7c13
mov dword [ebp - 0x154], 0x722a3d0b
mov dword [ebp - 0x150], 0x681b6918
mov dword [ebp - 0x14c], 0x7a20671f
mov dword [ebp - 0x148], 0x7d086f07
mov dword [ebp - 0x144], 0x5e358417
mov dword [ebp - 0x140], 0x7c287603
mov dword [ebp - 0x13c], 0x5f2da72f
mov dword [ebp - 0x138], 0x7f006123
mov dword [ebp - 0x134], 0x5f06a83e
mov dword [ebp - 0x130], 0xaf30b62e
mov dword [ebp - 0x12c], 0xa8129a1e
mov dword [ebp - 0x128], 0x9a097036
mov dword [ebp - 0x124], 0xc424ac0f
mov dword [ebp - 0x120], 0x7e387832
mov dword [ebp - 0x11c], 0x8327c20c
mov dword [ebp - 0x118], 0x8731c80d
mov dword [ebp - 0x114], 0x7f40c926
mov dword [ebp - 0x110], 0xa801ae0a
mov dword [ebp - 0x10c], 0xd925ca3f
mov dword [ebp - 0x108], 0xbf04ae05
mov dword [ebp - 0x104], 0xb4198d16
mov dword [ebp - 0x100], 0x9c37d614
mov dword [ebp - 0xfc], 0x973be111
mov dword [ebp - 0xf8], 0xcd22c502
mov dword [ebp - 0xf4], 0x363cfe13
mov dword [ebp - 0xf0], 0x80983158
mov dword [ebp - 0xec], 0x379526a0
mov dword [ebp - 0xe8], 0xe576a0ae
mov dword [ebp - 0xe4], 0x216218f6
mov dword [ebp - 0xe0], 0x1a9f1cd1
mov word [ebp - 0xdc], 0x39d3
mov byte [ebp - 0xda], 0xb6
cmp ecx, 0x7c
jne 0x100ceb90
push 0x13
pop esi
add ecx, 0x11
jmp 0x100cebbf
movzx eax, byte [ebp + ecx - 0x16f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cebb3
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x170]
mov byte [ebp + eax - 0x60], dl
add ecx, 2
cmp ecx, 0x97
jb 0x100ceb83
lea eax, [ebp - 0x60]
mov byte [ebp - 0x1e], 0
push eax
lea ecx, [ebp - 0x36c]
call fcn.1001c44c
push 0x43
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 4
push 0
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0xc0], 0x18023000
xor esi, esi
mov dword [ebp - 0xbc], 0x2a012502
xor ecx, ecx
cmp ecx, 2
jne 0x100cec12
push ecx
pop esi
jmp 0x100cec44
movzx eax, byte [ebp + ecx - 0xbf]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cec35
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xc0]
mov byte [ebp + eax - 0x9c], dl
add ecx, 2
cmp ecx, 8
jb 0x100cec09
lea eax, [ebp - 0x9c]
mov byte [ebp - 0x99], 0
push eax
lea ecx, [ebp - 0x354]
call fcn.1001c44c
mov byte [ebp - 4], 5
mov esi, dword [edi]
and dword [ebp - 0x9c], 0
mov edi, dword [edi + 4]
jmp 0x100ced12
push ecx
mov edx, esi
lea ecx, [ebp - 0x328]
call fcn.10072f29
pop ecx
push eax
lea edx, [ebp - 0x36c]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x310]
call fcn.10047271
pop ecx
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], 7
push ecx
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.10047686
pop ecx
push 0
push 1
lea ecx, [ebp - 0x310]
call fcn.100170c9
push 0
push 1
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0xa
call fcn.100170c9
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0xb8]
push 0x5e99
push eax
push 0xbb5
xor cl, cl
call fcn.100cd27c
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb8]
push 0
push 1
call fcn.100170c9
add esi, 0x18
cmp esi, edi
jne 0x100cec7a
push 0
push 1
lea ecx, [ebp - 0x354]
call fcn.100170c9
push 0
push 1
lea ecx, [ebp - 0x36c]
call fcn.100170c9
xor eax, eax
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], eax
mov byte [ebp - 4], 0xb
mov edi, dword [ebx + 4]
mov esi, dword [ebx]
jmp 0x100ced6f
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], esi
push eax
lea ecx, [ebp - 0x348]
call fcn.100b6ec6
add esi, 0xe8
cmp esi, edi
jne 0x100ced57
xor ebx, ebx
mov dword [ebp - 0x360], ebx
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x358], ebx
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0xc
call fcn.10034363
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x410]
call fcn.100ce7f6
push ebx
push 1
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0xf
call fcn.100170c9
mov dword [ebp - 0x19c], ebx
mov dword [ebp - 0x198], ebx
call fcn.1003837b
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0x10
mov esi, ebx
mov dword [ebp - 0x70], 0x490a5505
mov ecx, ebx
mov dword [ebp - 0x6c], 0x5a002506
mov dword [ebp - 0x68], 0x2b0e291a
mov dword [ebp - 0x64], 0x7b187c02
mov dword [ebp - 0x60], 0x31092f20
mov dword [ebp - 0x5c], 0x7e157c07
mov dword [ebp - 0x58], 0x5e035c01
mov dword [ebp - 0x54], 0x84163d28
mov dword [ebp - 0x50], 0x8a256e0c
mov dword [ebp - 0x4c], 0x720d750b
mov dword [ebp - 0x48], 0x8e237e1b
mov dword [ebp - 0x44], 0x9c139417
mov dword [ebp - 0x40], 0xa010a114
mov dword [ebp - 0x3c], 0x9b24a522
mov dword [ebp - 0x38], 0x7e1fa721
mov dword [ebp - 0x34], 0xaa0f7e04
mov dword [ebp - 0x30], 0xb926911e
mov dword [ebp - 0x2c], 0x9102bd11
mov dword [ebp - 0x28], 0x911ca612
mov dword [ebp - 0x24], 0xb1088827
mov dword [ebp - 0x20], 0x961dc219
cmp ecx, 0xc
jne 0x100cee75
push 2
pop esi
jmp 0x100ceea1
movzx eax, byte [ebp + ecx - 0x6f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cee95
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x70]
mov byte [ebp + eax - 0x4a4], dl
add ecx, 2
cmp ecx, 0x54
jb 0x100cee6b
lea eax, [ebp - 0x4a4]
mov byte [ebp - 0x47b], bl
push eax
lea ecx, [ebp - 0x478]
call fcn.1001c44c
push 0x2a
lea eax, [ebp - 0x4a4]
mov byte [ebp - 4], 0x11
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0x40], 0x72077408
mov dword [ebp - 0x3c], 0x6b046602
mov ecx, ebx
mov dword [ebp - 0x38], 0x2d0b7d09
mov esi, ebx
mov dword [ebp - 0x34], 0x2f057b03
mov dword [ebp - 0x30], 0xb4127906
mov dword [ebp - 0x2c], 0x1f6f300c
mov dword [ebp - 0x28], 0xb4561b79
mov dword [ebp - 0x24], 0x7f53c1f
mov dword [ebp - 0x20], 0x74ca71cf
mov dword [ebp - 0x1c], 0x520a3500
mov word [ebp - 0x18], 0x3701
cmp ecx, 0x12
jne 0x100cef33
push ecx
pop esi
push 0x22
pop ecx
jmp 0x100cef5f
movzx eax, byte [ebp + ecx - 0x3f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cef53
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x40]
mov byte [ebp + eax - 0x37c], dl
add ecx, 2
cmp ecx, 0x2a
jb 0x100cef27
lea eax, [ebp - 0x37c]
mov byte [ebp - 0x370], bl
push eax
lea ecx, [ebp - 0x460]
call fcn.1001c44c
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0x37c]
xor eax, eax
mov dword [ebp - 0x9c], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosb byte es:[edi], al
and dword [ebp - 0xc0], 0
and dword [ebp - 0xbc], 0
call fcn.100c90c4
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x348]
mov esi, eax
cmp eax, dword [ebp - 0x344]
je 0x100cf3c1
xor ebx, ebx
mov eax, dword [esi]
cmp dword [eax + 0x9c], ebx
jge 0x100cf3ac
lea ebx, [eax + 0x4c]
push ebx
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x19c]
call fcn.10050ed6
mov edi, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x19c]
cmp edi, edx
je 0x100cf01f
lea eax, [edi + 0x10]
mov ecx, ebx
push eax
call fcn.10036109
mov edx, dword [ebp - 0x19c]
test eax, eax
js 0x100cf01f
mov dword [ebp - 0x330], edi
lea eax, [ebp - 0x330]
jmp 0x100cf02b
mov dword [ebp - 0x338], edx
lea eax, [ebp - 0x338]
mov eax, dword [eax]
cmp eax, edx
jne 0x100cf36e
mov eax, dword [esi]
lea ecx, [ebp - 0xc0]
mov ebx, dword [ebp - 0xc0]
add eax, 0x4c
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x32c]
push eax
call fcn.10050ed6
mov edi, dword [ebp - 0x32c]
mov eax, dword [ebp - 0xc0]
cmp edi, eax
je 0x100cf08a
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 0x10]
push eax
call fcn.10036109
test eax, eax
js 0x100cf084
mov dword [ebp - 0x2ec], edi
lea eax, [ebp - 0x2ec]
jmp 0x100cf096
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x2e4], eax
lea eax, [ebp - 0x2e4]
cmp dword [eax], ebx
jne 0x100cf3aa
mov eax, dword [esi]
lea edx, [ebp - 0x478]
add eax, 4
lea ecx, [ebp - 0x3b8]
push eax
call fcn.10038746
pop ecx
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x14
push ecx
mov edx, eax
lea ecx, [ebp - 0x328]
call fcn.10047686
pop ecx
mov byte [ebp - 4], 0x15
mov edx, eax
mov ecx, dword [esi]
add ecx, 0x1c
push ecx
lea ecx, [ebp - 0x310]
call fcn.10047686
pop ecx
push dword [ebp - 0x1a0]
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xb8]
call fcn.100bfbf2
pop ecx
xor ebx, ebx
lea ecx, [ebp - 0x310]
push ebx
push 1
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x328]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1a
call fcn.100170c9
push ebx
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0xa0], ebx
push eax
push 2
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 4
push eax
push ebx
call fcn.100d5716
mov ecx, dword [ebp - 0x2f0]
add esp, 0x14
test ecx, ecx
je 0x100cf35a
cmp dword [ebp - 0xa4], 0x10
lea edx, [ebp - 0xa0]
push ebx
push edx
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push 0xffffffffffffffff
push eax
push dword [ebp - 0xcc]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cf35a
cmp dword [ebp - 0xa0], eax
je 0x100cf35a
mov eax, dword [esi]
push 4
pop ecx
push ebx
or dword [eax + 0x9c], 0xffffffff
lea eax, [ebp - 0x2f8]
push eax
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x2f8]
add esp, 0x14
test eax, eax
je 0x100cf217
push dword [ebp - 0xa0]
call eax
pop ecx
cmp eax, 0x64
jne 0x100cf217
push ebx
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x10], 4
push eax
push 8
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x2e8]
add esp, 0x14
test eax, eax
je 0x100cf217
push ebx
push dword [ebp - 0xa0]
call eax
pop ecx
pop ecx
mov ecx, dword [esi]
mov dword [ecx + 0x9c], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x9c]
test edx, edx
js 0x100cf2ca
lea ecx, [ebp - 0x30]
call fcn.1002a287
mov ecx, dword [esi]
push eax
add ecx, 0xd0
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x30]
call fcn.100170c9
push esi
lea ecx, [ebp - 0x360]
call fcn.100b6ec6
mov ebx, dword [esi]
lea eax, [ebp - 0x194]
add ebx, 0x4c
lea ecx, [ebp - 0x19c]
push ebx
push eax
call fcn.10050ed6
mov edi, dword [ebp - 0x194]
cmp edi, dword [ebp - 0x19c]
je 0x100cf289
lea eax, [edi + 0x10]
mov ecx, ebx
push eax
call fcn.10036109
test eax, eax
jns 0x100cf2c1
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push eax
push ecx
lea ecx, [ebp - 0x19c]
call fcn.100d0e4f
push eax
add eax, 0x10
lea ecx, [ebp - 0x19c]
push eax
push edi
lea eax, [ebp - 0xd4]
push eax
call fcn.100d0ebd
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x194], edi
mov eax, dword [esi]
xor ebx, ebx
mov dword [edi + 0x28], eax
jmp 0x100cf329
cmp dword [ebp - 0x9c], 0
jne 0x100cf329
lea edi, [eax + 0x1c]
add eax, 4
push eax
lea ecx, [ebp - 0x48]
call fcn.10019e3f
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1b
call fcn.10019e3f
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xc0]
mov eax, dword [esi]
add eax, 0x4c
push eax
call fcn.100c8dbb
mov edi, eax
lea eax, [ebp - 0x48]
push eax
mov ecx, edi
call fcn.100360e4
lea eax, [ebp - 0x30]
push eax
lea ecx, [edi + 0x18]
call fcn.100360e4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1a
call fcn.1002d33b
push ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x10], 4
push eax
push 5
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x98]
add esp, 0x14
test eax, eax
je 0x100cf35a
push dword [ebp - 0xa0]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x13
call fcn.100170c9
jmp 0x100cf3ac
mov ecx, dword [eax + 0x28]
mov edi, 0xd0
mov edx, dword [esi]
xor ebx, ebx
mov ecx, dword [ecx + 0x9c]
mov dword [edx + 0x9c], ecx
mov eax, dword [eax + 0x28]
mov ecx, dword [esi]
add eax, edi
add ecx, edi
cmp ecx, eax
je 0x100cf39c
push 0xffffffffffffffff
push ebx
push eax
call fcn.1001a199
push esi
lea ecx, [ebp - 0x360]
call fcn.100b6ec6
jmp 0x100cf3ac
xor ebx, ebx
add esi, 4
cmp esi, dword [ebp - 0x344]
jne 0x100cefc8
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
jne 0x100cf723
cmp dword [ebp - 0xbc], ebx
je 0x100cf723
push ecx
push ecx
lea ecx, [ebp - 0x7a8]
call fcn.100cc726
mov byte [ebp - 4], 0x1d
mov ecx, ebx
mov dword [ebp - 0x88], 0x51087119
mov esi, ebx
mov dword [ebp - 0x84], 0x7b232e2d
mov dword [ebp - 0x80], 0x5f096c2b
mov dword [ebp - 0x7c], 0x652f862c
mov dword [ebp - 0x78], 0x7b20891e
mov dword [ebp - 0x74], 0x7c293d18
mov dword [ebp - 0x70], 0x880c5e03
mov dword [ebp - 0x6c], 0x8e106607
mov dword [ebp - 0x68], 0x6f318a14
mov dword [ebp - 0x64], 0x472e8b1c
mov dword [ebp - 0x60], 0x9213880f
mov dword [ebp - 0x5c], 0x92287600
mov dword [ebp - 0x58], 0xa526a31a
mov dword [ebp - 0x54], 0x20078a07
mov dword [ebp - 0x50], 0x1d66b1d3
mov dword [ebp - 0x4c], 0x16a0129e
mov dword [ebp - 0x48], 0x278901ac
mov dword [ebp - 0x44], 0x32b90ea2
mov dword [ebp - 0x40], 0x22b51196
mov dword [ebp - 0x3c], 0x4b621b8
mov dword [ebp - 0x38], 0x248c309b
mov dword [ebp - 0x34], 0x347b1f79
mov dword [ebp - 0x30], 0x6c12aa4
mov dword [ebp - 0x2c], 0x15bc1b75
mov dword [ebp - 0x28], 0xdaa0ac7
mov dword [ebp - 0x24], 0xb7f17cc
mov dword [ebp - 0x20], 0x5b60281
mov dword [ebp - 0x1c], 0x33cd25b9
mov byte [ebp - 0x18], 0xae
cmp ecx, 0x34
jne 0x100cf4c5
push 7
pop esi
push 0x39
pop ecx
jmp 0x100cf4f7
movzx eax, byte [ebp + ecx - 0x87]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cf4e8
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x88]
mov byte [ebp + eax - 0x3d8], dl
add ecx, 2
cmp ecx, 0x71
jb 0x100cf4b8
lea eax, [ebp - 0x3d8]
mov byte [ebp - 0x3a3], bl
push eax
lea ecx, [ebp - 0x30]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x798]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1d
call fcn.100170c9
push 0x36
lea eax, [ebp - 0x3d8]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0xb8], 0x34023104
xor ecx, ecx
mov dword [ebp - 0xb4], 0x33013c03
mov dword [ebp - 0xb0], 0xdf093206
xor esi, esi
mov dword [ebp - 0xac], 0xc38ccc69
mov dword [ebp - 0xa8], 0x5519c25
mov word [ebp - 0xa4], 0x3b
mov byte [ebp - 0xa2], 0x2f
cmp ecx, 0xa
jne 0x100cf599
push 9
pop esi
push 0x11
pop ecx
jmp 0x100cf5cb
movzx eax, byte [ebp + ecx - 0xb7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cf5bc
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 - 0x1a8], dl
add ecx, 2
cmp ecx, 0x17
jb 0x100cf58c
lea eax, [ebp - 0x1a8]
mov byte [ebp - 0x1a1], 0
push eax
lea ecx, [ebp - 0x310]
call fcn.1001c44c
mov byte [ebp - 4], 0x1f
mov edi, dword [ebp - 0xc0]
and dword [ebp - 0x1a8], 0
and dword [ebp - 0x1a4], 0
mov esi, dword [edi]
mov dword [ebp - 0x10], esi
jmp 0x100cf6b5
test bl, bl
je 0x100cf626
push dword [ebp - 0xc8]
lea eax, [ebp - 0x798]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x798]
mov byte [ebp - 0x91], 1
push ecx
push dword [ebp - 0xc8]
lea ebx, [esi + 0x40]
push ecx
push dword [ebp - 0x1a0]
push ecx
push dword [ebp - 0x1a0]
push ecx
push dword [ebp - 0x2f4]
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 0x28]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, ebx
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x310]
mov ecx, eax
call fcn.10023410
lea ecx, [ebp - 0x10]
call fcn.10014de6
mov esi, dword [ebp - 0x10]
mov bl, byte [ebp - 0x91]
cmp esi, edi
jne 0x100cf60e
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x7a8]
call fcn.100cc7ce
push 0x62fd
lea eax, [ebp - 0x328]
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0xcc]
xor cl, cl
push eax
push 0x7540
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x328]
push 0
push 1
call fcn.100170c9
push 0
push 1
lea ecx, [ebp - 0x310]
call fcn.100170c9
lea ecx, [ebp - 0x7a8]
call fcn.100cc61a
mov ebx, dword [ebp - 0x9c]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x12
call fcn.100c012e
inc ebx
mov dword [ebp - 0x9c], ebx
cmp ebx, 2
jl 0x100cef95
xor eax, eax
mov ebx, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
call fcn.1003837b
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x22
xor edx, edx
mov dword [ebp - 0x68], 0x6f146225
mov dword [ebp - 0x64], 0x4c036423
mov dword [ebp - 0x60], 0x6c157e20
mov dword [ebp - 0x5c], 0x62007217
mov dword [ebp - 0x58], 0x651d8321
mov dword [ebp - 0x54], 0x6e1a670b
mov dword [ebp - 0x50], 0x7e168c26
mov dword [ebp - 0x4c], 0x73053d09
mov dword [ebp - 0x48], 0x93138012
mov dword [ebp - 0x44], 0x90079122
mov dword [ebp - 0x40], 0x710a4906
mov dword [ebp - 0x3c], 0x7c0d9527
mov dword [ebp - 0x38], 0x78019508
mov dword [ebp - 0x34], 0x570e8102
mov dword [ebp - 0x30], 0xa80f5919
mov dword [ebp - 0x2c], 0x8204851b
mov dword [ebp - 0x28], 0xab24b418
mov dword [ebp - 0x24], 0x8428940c
mov dword [ebp - 0x20], 0x901e691f
mov dword [ebp - 0x1c], 0xc911bc10
mov word [ebp - 0x18], 0x961c
movzx ecx, byte [ebp + edx - 0x67]
sub ecx, edx
dec ecx
jns 0x100cf827
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x68]
add edx, 2
mov byte [ebp + eax - 0x4d0], cl
cmp edx, 0x52
jb 0x100cf80b
lea eax, [ebp - 0x4d0]
mov byte [ebp - 0x4a7], 0
push eax
lea ecx, [ebp - 0x448]
call fcn.1001c44c
push 0x2a
lea eax, [ebp - 0x4d0]
mov byte [ebp - 4], 0x23
push 0
push eax
call fcn.101209c0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x9c], eax
jmp 0x100cf87b
mov ebx, dword [ebp - 0xc4]
test eax, eax
lea edi, [ebp - 0x360]
lea ecx, [ebp - 0xc4]
cmovne edi, ecx
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x100cfa5e
xor ebx, ebx
mov eax, dword [esi]
lea edx, [ebp - 0x448]
add eax, 0x7c
lea ecx, [ebp - 0xb8]
push eax
call fcn.10038746
pop ecx
push ebx
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x24
push eax
push 2
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa0], ebx
push eax
push ebx
mov dword [ebp - 0x98], 4
call fcn.100d5716
mov ecx, dword [ebp - 0xd4]
add esp, 0x14
test ecx, ecx
je 0x100cfa35
cmp dword [ebp - 0xa4], 0x10
lea edx, [ebp - 0xa0]
push ebx
push edx
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push 0xffffffffffffffff
push eax
push dword [ebp - 0xcc]
call ecx
add esp, 0x14
test eax, eax
jne 0x100cfa35
cmp dword [ebp - 0xa0], eax
je 0x100cfa35
or dword [ebp - 0x194], 0xffffffff
lea eax, [ebp - 0x2e8]
push 4
pop ecx
push ebx
push eax
push ecx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ecx
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x2e8]
add esp, 0x14
test eax, eax
je 0x100cf9af
push dword [ebp - 0xa0]
call eax
pop ecx
cmp eax, 0x64
jne 0x100cf9af
push ebx
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x98], 4
push eax
push 8
lea eax, [ebp - 0x98]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x2f8]
add esp, 0x14
test eax, eax
je 0x100cf9af
push ebx
push dword [ebp - 0xa0]
call eax
pop ecx
pop ecx
mov dword [ebp - 0x194], eax
jmp 0x100cf9b5
mov eax, dword [ebp - 0x194]
test eax, eax
js 0x100cf9f2
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.1002a287
push eax
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0x1b4]
call fcn.100cc6bf
mov ecx, eax
call fcn.100360e4
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x24
call fcn.100170c9
jmp 0x100cf9fe
push esi
lea ecx, [ebp - 0xc4]
call fcn.100b6ec6
push ebx
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x98], 4
push eax
push 5
lea eax, [ebp - 0x98]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0x2f0]
add esp, 0x14
test eax, eax
je 0x100cfa35
push dword [ebp - 0xa0]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x23
call fcn.100170c9
add esi, 4
cmp esi, edi
jne 0x100cf89b
mov ebx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x100d039f
cmp ebx, dword [ebp - 0xc0]
je 0x100d0165
push ecx
push ecx
lea ecx, [ebp - 0x648]
call fcn.100cc726
mov byte [ebp - 4], 0x26
xor ebx, ebx
mov dword [ebp - 0x2e0], 0x6230548c
mov dword [ebp - 0x2dc], 0x70465189
mov dword [ebp - 0x2d8], 0x7f1e6e6f
mov dword [ebp - 0x2d4], 0x2f86725f
mov dword [ebp - 0x2d0], 0x6987700f
mov dword [ebp - 0x2cc], 0x7a617425
mov dword [ebp - 0x2c8], 0x8d6b7d84
mov dword [ebp - 0x2c4], 0x823d8672
mov dword [ebp - 0x2c0], 0x844c8623
mov dword [ebp - 0x2bc], 0x68888e6e
mov dword [ebp - 0x2b8], 0x5754922c
mov dword [ebp - 0x2b4], 0x9e27592a
mov dword [ebp - 0x2b0], 0xa92ba379
mov dword [ebp - 0x2ac], 0x96449a39
mov dword [ebp - 0x2a8], 0x5b066117
mov dword [ebp - 0x2a4], 0xa05aac32
mov dword [ebp - 0x2a0], 0xb833aa63
mov dword [ebp - 0x29c], 0xac147169
mov dword [ebp - 0x298], 0xb42ebb7d
mov dword [ebp - 0x294], 0xae82bf22
mov dword [ebp - 0x290], 0xb24aa304
mov dword [ebp - 0x28c], 0x835da40a
mov dword [ebp - 0x288], 0xa400857b
mov dword [ebp - 0x284], 0xd247cc0d
mov dword [ebp - 0x280], 0xd878d543
mov dword [ebp - 0x27c], 0xdd45d20c
mov dword [ebp - 0x278], 0x9736d252
mov dword [ebp - 0x274], 0xdb11d559
mov dword [ebp - 0x270], 0xd820e45b
mov dword [ebp - 0x26c], 0x9716e719
mov dword [ebp - 0x268], 0xee28a53f
mov dword [ebp - 0x264], 0xe67fdc58
mov dword [ebp - 0x260], 0xfd0eea80
mov dword [ebp - 0x25c], 0xa70bf738
mov dword [ebp - 0x258], 0xff4ddd09
mov dword [ebp - 0x254], 0xf3530015
mov dword [ebp - 0x250], 0x730655
mov dword [ebp - 0x24c], 0xc18da8b
mov dword [ebp - 0x248], 0xfe3ac521
mov dword [ebp - 0x244], 0x132ffe41
mov dword [ebp - 0x240], 0x474ca85
mov dword [ebp - 0x23c], 0x1d6d0477
mov dword [ebp - 0x238], 0xf4b0c31
mov dword [ebp - 0x234], 0x1650115e
mov dword [ebp - 0x230], 0x14122651
mov dword [ebp - 0x22c], 0x237a1b37
mov dword [ebp - 0x228], 0x2f652f24
mov dword [ebp - 0x224], 0x2675363e
mov dword [ebp - 0x220], 0x36422a48
mov dword [ebp - 0x21c], 0x376a3935
mov dword [ebp - 0x218], 0x347e3b62
mov dword [ebp - 0x214], 0x3d34411c
mov dword [ebp - 0x210], 0x3b5c3f3c
mov dword [ebp - 0x20c], 0x49564510
mov dword [ebp - 0x208], 0x40764781
mov dword [ebp - 0x204], 0x481d491a
mov dword [ebp - 0x200], 0x5749463b
mov dword [ebp - 0x1fc], 0x30075140
mov dword [ebp - 0x1f8], 0x39086070
mov dword [ebp - 0x1f4], 0x1b4f602d
mov dword [ebp - 0x1f0], 0x63643603
mov dword [ebp - 0x1ec], 0x5c6c4301
mov dword [ebp - 0x1e8], 0x6f295871
mov dword [ebp - 0x1e4], 0x6b1f6b68
mov dword [ebp - 0x1e0], 0x588a7067
mov dword [ebp - 0x1dc], 0x5a026a4e
mov dword [ebp - 0x1d8], 0x7a7c7c60
mov dword [ebp - 0x1d4], 0x72137526
mov dword [ebp - 0x1d0], 0x7f577a66
mov dword [ebp - 0x1cc], 0x80836905
mov dword [ebp - 0x1c8], 0xf90b451b
mov dword [ebp - 0x1c4], 0x212a37bd
mov dword [ebp - 0x1c0], 0x71aaa7fa
mov byte [ebp - 0x1bc], 0xd9
mov ecx, ebx
mov esi, ebx
cmp ecx, 0x11a
jne 0x100cfd7a
push 0xb
pop esi
add ecx, 9
jmp 0x100cfdac
movzx eax, byte [ebp + ecx - 0x2df]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cfd9d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2e0]
mov byte [ebp + eax - 0x168], dl
add ecx, 2
cmp ecx, 0x125
jb 0x100cfd6a
lea eax, [ebp - 0x168]
mov byte [ebp - 0xdb], bl
push eax
lea ecx, [ebp - 0x30]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x638]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x26
call fcn.100170c9
push 0x8e
lea eax, [ebp - 0x168]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0x54], 0x7a103216
xor ecx, ecx
mov dword [ebp - 0x50], 0x3a14311a
mov dword [ebp - 0x4c], 0x72027b03
xor esi, esi
mov dword [ebp - 0x48], 0x3b133b11
mov dword [ebp - 0x44], 0x3f153f0d
mov dword [ebp - 0x40], 0x910a8108
mov dword [ebp - 0x3c], 0x52174919
mov dword [ebp - 0x38], 0x8e044900
mov dword [ebp - 0x34], 0x8406980e
mov dword [ebp - 0x30], 0x9e0f4712
mov dword [ebp - 0x2c], 0x9a0b9507
mov dword [ebp - 0x28], 0x90079609
mov dword [ebp - 0x24], 0xc33d33ee
mov dword [ebp - 0x20], 0x15f18b2
mov dword [ebp - 0x1c], 0x5a00c53
mov byte [ebp - 0x18], 0x63
cmp ecx, 0x2e
jne 0x100cfe7f
push 7
pop esi
add ecx, 5
jmp 0x100cfeab
movzx eax, byte [ebp + ecx - 0x53]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cfe9f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x54]
mov byte [ebp + eax - 0x3bc], dl
add ecx, 2
cmp ecx, 0x3d
jb 0x100cfe72
lea eax, [ebp - 0x3bc]
mov byte [ebp - 0x3a1], 0
push eax
lea ecx, [ebp - 0xb8]
call fcn.1001c44c
mov byte [ebp - 4], 0x28
lea edi, [ebp - 0x3bc]
push 7
xor eax, eax
mov dword [ebp - 0x30], 0x51062d05
pop ecx
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x2c], 0x53035109
mov dword [ebp - 0x28], 0x370a5e07
xor esi, esi
mov dword [ebp - 0x24], 0x1c45203
mov dword [ebp - 0x20], 0x85b045b
mov dword [ebp - 0x1c], 0x23f005d
mov byte [ebp - 0x18], 0x6a
cmp ecx, 0xc
jne 0x100cff1a
push 3
pop esi
inc ecx
jmp 0x100cff46
movzx eax, byte [ebp + ecx - 0x2f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cff3a
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x30]
mov byte [ebp + eax - 0x1ac], dl
add ecx, 2
cmp ecx, 0x19
jb 0x100cff0f
lea eax, [ebp - 0x1ac]
mov byte [ebp - 0x1a1], 0
push eax
lea ecx, [ebp - 0x328]
call fcn.1001c44c
mov byte [ebp - 4], 0x29
lea edi, [ebp - 0x1ac]
mov esi, dword [ebp - 0xc4]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test bl, bl
je 0x100cff94
push dword [ebp - 0xc8]
lea eax, [ebp - 0x638]
push eax
call fcn.10023230
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x91], 1
call fcn.100cd230
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x2a
push dword [ebp - 0xd0]
mov ecx, dword [esi]
push ecx
push dword [ebp - 0xc8]
push ecx
lea eax, [ecx + 0xd0]
mov edi, dword [ecx]
mov dword [ebp - 0x2ec], eax
lea eax, [ecx + 0x7c]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x1a0]
push eax
push ecx
push eax
push ecx
push dword [ebp - 0xc8]
lea ebx, [edi + 0x60]
push ecx
push eax
push ecx
push eax
push ecx
push dword [ebp - 0xc8]
push ecx
push eax
push ecx
push eax
push ecx
push dword [ebp - 0x2f4]
lea eax, [ebp - 0x638]
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [edi + 0x30]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, ebx
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [ebp - 0xb8]
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x410]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
mov edx, dword [ebp - 0x98]
pop ecx
pop ecx
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
add esp, 0xc
push eax
call fcn.10023230
mov edx, dword [ebp - 0x2e4]
pop ecx
pop ecx
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x328]
mov ecx, eax
call fcn.10023410
mov edx, dword [ebp - 0x2ec]
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x29
call fcn.100170c9
mov bl, byte [ebp - 0x91]
add esi, 4
cmp esi, dword [ebp - 0xc0]
jne 0x100cff7c
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x648]
call fcn.100cc7ce
push 0x1a53
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0xcc]
xor cl, cl
push eax
push 0x6af1
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x310]
xor ebx, ebx
push ebx
push 1
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x328]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.100170c9
lea ecx, [ebp - 0x648]
mov byte [ebp - 4], 0x23
call fcn.100cc61a
mov eax, dword [ebp - 0x9c]
jmp 0x100d0167
xor ebx, ebx
cmp dword [ebp - 0x1b0], 0
je 0x100d039f
push ecx
push ecx
lea ecx, [ebp - 0x598]
call fcn.100cc726
mov byte [ebp - 4], 0x2c
mov edx, ebx
mov dword [ebp - 0x90], 0x6832660f
mov dword [ebp - 0x8c], 0x57017926
mov dword [ebp - 0x88], 0x2b06293b
mov dword [ebp - 0x84], 0x8630701c
mov dword [ebp - 0x80], 0x76287d0c
mov dword [ebp - 0x7c], 0x8c2a833a
mov dword [ebp - 0x78], 0x8a083938
mov dword [ebp - 0x74], 0x88196102
mov dword [ebp - 0x70], 0x840d9b09
mov dword [ebp - 0x6c], 0x47159818
mov dword [ebp - 0x68], 0x9425972b
mov dword [ebp - 0x64], 0x622e8104
mov dword [ebp - 0x60], 0x532f7203
mov dword [ebp - 0x5c], 0xa70ba31f
mov dword [ebp - 0x58], 0x8e12a131
mov dword [ebp - 0x54], 0xae1da234
mov dword [ebp - 0x50], 0x8805b61e
mov dword [ebp - 0x4c], 0xba10a41b
mov dword [ebp - 0x48], 0xc1169d14
mov dword [ebp - 0x44], 0x6f119213
mov dword [ebp - 0x40], 0xc71ac722
mov dword [ebp - 0x3c], 0x822dc429
mov dword [ebp - 0x38], 0xbe0ec239
mov dword [ebp - 0x34], 0xc817c636
mov dword [ebp - 0x30], 0x8335d424
mov dword [ebp - 0x2c], 0xd023d920
mov dword [ebp - 0x28], 0xa821c80a
mov dword [ebp - 0x24], 0x973ce12c
mov dword [ebp - 0x20], 0xd737d027
mov dword [ebp - 0x1c], 0xe933e207
mov word [ebp - 0x18], 0xce00
movzx ecx, byte [ebp + edx - 0x8f]
sub ecx, edx
dec ecx
jns 0x100d028a
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 - 0x3e0], cl
cmp edx, 0x7a
jb 0x100d026b
lea eax, [ebp - 0x3e0]
mov byte [ebp - 0x3a3], bl
push eax
lea ecx, [ebp - 0x30]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x588]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2c
call fcn.100170c9
push 0x3e
lea eax, [ebp - 0x3e0]
push ebx
push eax
call fcn.101209c0
mov edi, dword [ebp - 0x1b4]
add esp, 0xc
mov esi, dword [edi]
mov dword [ebp - 0x10], esi
jmp 0x100d0328
test bl, bl
je 0x100d030d
push dword [ebp - 0xc8]
lea eax, [ebp - 0x588]
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [esi + 0x14]
mov bl, 1
lea ecx, [ebp - 0x588]
call fcn.10023410
lea ecx, [ebp - 0x10]
call fcn.10014de6
mov esi, dword [ebp - 0x10]
cmp esi, edi
jne 0x100d02f5
test bl, bl
je 0x100d038a
push dword [ebp - 0xd0]
lea eax, [ebp - 0x588]
push eax
call fcn.10023230
pop ecx
pop ecx
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x598]
call fcn.100cc7ce
push 0x7f47
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0xcc]
xor cl, cl
push eax
push 0x1ea6
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x310]
push 0
push 1
call fcn.100170c9
lea ecx, [ebp - 0x598]
mov byte [ebp - 4], 0x23
call fcn.100cc61a
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, 2
jl 0x100cf875
cmp dword [ebp - 0x1b0], 0
je 0x100d07ff
push ecx
push ecx
lea ecx, [ebp - 0x6f8]
call fcn.100cc726
mov byte [ebp - 4], 0x2f
xor ebx, ebx
mov dword [ebp - 0x190], 0x6c255457
mov ecx, ebx
mov dword [ebp - 0x18c], 0x7b1b6621
mov esi, ebx
mov dword [ebp - 0x188], 0x7133784e
mov dword [ebp - 0x184], 0x732e2d1d
mov dword [ebp - 0x180], 0x87426752
mov dword [ebp - 0x17c], 0x7c236308
mov dword [ebp - 0x178], 0x64008d30
mov dword [ebp - 0x174], 0x6e0a902a
mov dword [ebp - 0x170], 0x9c458a11
mov dword [ebp - 0x16c], 0x7007920c
mov dword [ebp - 0x168], 0x943f8e4a
mov dword [ebp - 0x164], 0x9e149d1f
mov dword [ebp - 0x160], 0x87098505
mov dword [ebp - 0x15c], 0xaa128802
mov dword [ebp - 0x158], 0xb117a636
mov dword [ebp - 0x154], 0xa81a8203
mov dword [ebp - 0x150], 0xa20f610b
mov dword [ebp - 0x14c], 0xba40b34f
mov dword [ebp - 0x148], 0xb439bb15
mov dword [ebp - 0x144], 0xc249b126
mov dword [ebp - 0x140], 0xcc16b037
mov dword [ebp - 0x13c], 0xd10e7d1e
mov dword [ebp - 0x138], 0xd1387906
mov dword [ebp - 0x134], 0xc83bd03a
mov dword [ebp - 0x130], 0xd534d00d
mov dword [ebp - 0x12c], 0xdd3eaa56
mov dword [ebp - 0x128], 0xd441d22b
mov dword [ebp - 0x124], 0x9b32e04b
mov dword [ebp - 0x120], 0x93519d48
mov dword [ebp - 0x11c], 0xa33de546
mov dword [ebp - 0x118], 0xe310a250
mov dword [ebp - 0x114], 0xf33cbe53
mov dword [ebp - 0x110], 0xd855f44c
mov dword [ebp - 0x10c], 0xe643d301
mov dword [ebp - 0x108], 0xf418db04
mov dword [ebp - 0x104], 0xf02ff629
mov dword [ebp - 0x100], 0x72c041c
mov dword [ebp - 0xfc], 0xf6240435
mov dword [ebp - 0xf8], 0x1128e554
mov dword [ebp - 0xf4], 0x13130247
mov dword [ebp - 0xf0], 0xf200a4d
mov dword [ebp - 0xec], 0x62d1944
mov dword [ebp - 0xe8], 0xe22d527
mov dword [ebp - 0xe4], 0x14312019
mov dword [ebp - 0xe0], 0xac08c607
mov word [ebp - 0xdc], 0x3a72
mov byte [ebp - 0xda], 4
cmp ecx, 0xb0
jne 0x100d05b5
push 7
pop esi
add ecx, 5
jmp 0x100d05e7
movzx eax, byte [ebp + ecx - 0x18f]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100d05d8
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x190]
mov byte [ebp + eax - 0x3f8], dl
add ecx, 2
cmp ecx, 0xb7
jb 0x100d05a5
lea eax, [ebp - 0x3f8]
mov byte [ebp - 0x3a0], bl
push eax
lea ecx, [ebp - 0x30]
call fcn.1001c44c
mov edx, eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x6e8]
call fcn.10023410
push ebx
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2f
call fcn.100170c9
push 0x59
lea eax, [ebp - 0x3f8]
push ebx
push eax
call fcn.101209c0
add esp, 0xc
mov dword [ebp - 0xb8], 0x4a0a2d00
xor ecx, ecx
mov dword [ebp - 0xb4], 0x4d4d2c8b
mov dword [ebp - 0xb0], 0x6a8f92d5
xor esi, esi
mov dword [ebp - 0xac], 0x2e063301
mov dword [ebp - 0xa8], 0x3b033304
mov dword [ebp - 0xa4], 0x39023b05
cmp ecx, 2
jne 0x100d0685
push 0xa
pop esi
push esi
pop ecx
jmp 0x100d06b7
movzx eax, byte [ebp + ecx - 0xb7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100d06a8
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 - 0x1a8], dl
add ecx, 2
cmp ecx, 0x18
jb 0x100d0679
lea eax, [ebp - 0x1a8]
mov byte [ebp - 0x1a1], 0
push eax
lea ecx, [ebp - 0x328]
call fcn.1001c44c
mov byte [ebp - 4], 0x31
mov esi, dword [ebp - 0x1b4]
and dword [ebp - 0x1a8], 0
and dword [ebp - 0x1a4], 0
mov dword [ebp - 0xd4], esi
mov eax, dword [esi]
mov dword [ebp - 0xd0], eax
cmp eax, esi
je 0x100d07de
add eax, 0x14
push 3
mov dword [ebp - 0x98], eax
mov esi, eax
pop edi
test bl, bl
je 0x100d072c
push dword [ebp - 0xc8]
lea eax, [ebp - 0x6e8]
push eax
call fcn.10023230
pop ecx
pop ecx
push dword [ebp - 0xc8]
lea eax, [ebp - 0x6e8]
mov bl, 1
push ecx
push dword [ebp - 0x2f4]
push eax
call fcn.10023230
pop ecx
pop ecx
mov edx, esi
mov ecx, eax
call fcn.10023410
pop ecx
push eax
call fcn.10023230
pop ecx
pop ecx
lea edx, [ebp - 0x410]
mov ecx, eax
call fcn.10023410
lea edx, [ebp - 0x328]
mov ecx, eax
call fcn.10023410
dec edi
jne 0x100d0714
lea ecx, [ebp - 0xd0]
call fcn.10014de6
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xd4]
jne 0x100d0706
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.100cc7ce
push 0x1e91
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0xcc]
xor cl, cl
push eax
push 0x6b2c
call fcn.100cd27c
add esp, 0xc
lea ecx, [ebp - 0x310]
xor ebx, ebx
push ebx
push 1
call fcn.100170c9
jmp 0x100d07e0
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x328]
call fcn.100170c9
lea ecx, [ebp - 0x6f8]
mov byte [ebp - 4], 0x23
call fcn.100cc61a
jmp 0x100d0801
xor ebx, ebx
push ebx
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x98], 4
push eax
push 6
lea eax, [ebp - 0x98]
push eax
push ebx
call fcn.100d5716
mov eax, dword [ebp - 0xd4]
add esp, 0x14
test eax, eax
je 0x100d0838
push dword [ebp - 0xcc]
call eax
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x448]
call fcn.100170c9
lea ecx, [ebp - 0x1b4]
call fcn.10036852
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100d0862
push eax
call fcn.10120696
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x460]
call fcn.100170c9
push ebx
push 1
lea ecx, [ebp - 0x478]
call fcn.100170c9
lea ecx, [ebp - 0x19c]
call fcn.100d0ca1
push ebx
push 1
lea ecx, [ebp - 0x410]
call fcn.100170c9
cmp dword [ebp - 0x360], 0
je 0x100d08ac
push dword [ebp - 0x360]
call fcn.10120696
pop ecx
mov eax, dword [ebp - 0x348]
test eax, eax
je 0x100d08bd
push eax
call fcn.10120696
pop ecx
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x334]
test esi, esi
je 0x100d08d9
mov ecx, esi
call fcn.1005cb9c
push esi
call fcn.10120696
pop ecx
push 0
push 1
lea ecx, [ebp - 0x394]
call fcn.10014448
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret