Function at 0x100cbbc8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x1014eb55
call fcn.1014399c
sub esp, 0x4f8
mov eax, dword [edx]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1b0], edx
cmp eax, dword [edx + 4]
je 0x100cd0df
xor ebx, ebx
mov dword [ebp - 0x184], 0x2f105d00
mov dword [ebp - 0x180], 0xd5a90ce6
mov ecx, ebx
mov dword [ebp - 0x17c], 0xc52f66bf
mov esi, ebx
mov dword [ebp - 0x178], 0x1c63eca0
mov dword [ebp - 0x174], 0x6901b905
mov dword [ebp - 0x170], 0x6c0f6e0d
mov dword [ebp - 0x16c], 0x770c7806
mov dword [ebp - 0x168], 0x820a7e0b
mov dword [ebp - 0x164], 0x89037405
mov dword [ebp - 0x160], 0x78028307
mov dword [ebp - 0x15c], 0x84048c08
mov dword [ebp - 0x158], 0x930e4b09
cmp ecx, 2
jne 0x100cbc78
push 0x10
pop esi
push esi
pop ecx
jmp 0x100cbcab
movzx eax, byte [ebp + ecx - 0x183]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cbc9b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x184]
mov word [ebp + eax*2 - 0x26c], dx
add ecx, 2
cmp ecx, 0x30
jb 0x100cbc6c
xor eax, eax
lea ecx, [ebp - 0x284]
mov word [ebp - 0x24c], ax
lea eax, [ebp - 0x26c]
push eax
call fcn.100140d4
push eax
mov edx, edi
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x218]
call fcn.10028a72
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 2
call fcn.10014706
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x26c]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x218]
stosw word es:[edi], ax
call fcn.10038760
test al, al
je 0x100cd0d1
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10072b97
push ebx
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 3
push eax
push 1
lea eax, [ebp - 0x188]
mov dword [ebp - 0x18c], ebx
push eax
push ebx
mov dword [ebp - 0x188], 4
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x194], 0
je 0x100cd0b5
cmp dword [ebp - 0x204], 8
lea ecx, [ebp - 0x18c]
lea eax, [ebp - 0x218]
cmovae eax, dword [ebp - 0x218]
push ecx
push eax
call dword [ebp - 0x194]
pop ecx
pop ecx
test eax, eax
jne 0x100cd0b5
push 0x2a689
call fcn.10018776
mov byte [ebp - 0x190], al
mov dword [esp], 0x4df33
call fcn.10018776
mov byte [ebp - 0x1ac], al
mov dword [esp], 0x4c145
call fcn.10018776
mov byte [ebp - 0x194], al
mov dword [esp], 0x565e2
call fcn.10018776
pop ecx
mov byte [ebp - 0x188], al
mov ecx, ebx
mov dword [ebp - 0x154], 0x7b21210e
mov esi, ebx
mov dword [ebp - 0x150], 0x591c642d
mov dword [ebp - 0x14c], 0x2b1e4e01
mov dword [ebp - 0x148], 0x8217521b
mov dword [ebp - 0x144], 0x67055e0d
mov dword [ebp - 0x140], 0x91116102
mov dword [ebp - 0x13c], 0x6d0b8815
mov dword [ebp - 0x138], 0xe9138b28
mov dword [ebp - 0x134], 0x488123f
mov dword [ebp - 0x130], 0xc6bf6de6
mov dword [ebp - 0x12c], 0xf303dab
mov dword [ebp - 0x128], 0x588e8c3b
mov dword [ebp - 0x124], 0x46e0c7e
mov dword [ebp - 0x120], 0x2c862664
mov dword [ebp - 0x11c], 0x328f3191
mov dword [ebp - 0x118], 0xa942566
mov dword [ebp - 0x114], 0x29930873
mov dword [ebp - 0x110], 0x1f922490
mov dword [ebp - 0x10c], 0x2e57099b
mov dword [ebp - 0x108], 0x22a916a1
mov dword [ebp - 0x104], 0x30841da2
mov dword [ebp - 0x100], 0x79600b4
mov dword [ebp - 0xfc], 0x68f1aae
mov dword [ebp - 0xf8], 0x20ac2f69
mov dword [ebp - 0xf4], 0x23ae12b6
mov dword [ebp - 0xf0], 0x3c52bb5
mov dword [ebp - 0xec], 0x1477189a
mov dword [ebp - 0xe8], 0x2ac80fbc
mov dword [ebp - 0xe4], 0x10ce27d2
mov dword [ebp - 0xe0], 0x19cc13d0
mov byte [ebp - 0xdc], 0xbc
cmp ecx, 0x1e
jne 0x100cbf18
push 0x13
pop esi
push 0x2f
pop ecx
jmp 0x100cbf4a
movzx eax, byte [ebp + ecx - 0x153]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cbf3b
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x154]
mov byte [ebp + eax - 0x2b8], dl
add ecx, 2
cmp ecx, 0x79
jb 0x100cbf0b
lea eax, [ebp - 0x2b8]
mov byte [ebp - 0x285], bl
push eax
lea ecx, [ebp - 0x248]
call fcn.1001b5bd
push 0x34
lea eax, [ebp - 0x2b8]
push ebx
push eax
call fcn.10123950
add esp, 0xc
mov dword [ebp - 0x1c], ebx
mov eax, ebx
and dword [ebp - 0xd0], 0
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 5
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
cmp esi, edi
je 0x100cc6d0
cmp dword [esi + 0x94], 0
mov dword [ebp - 0x18], esi
jge 0x100cc15d
lea ebx, [esi + 0xa0]
lea eax, [ebx - 0x3c]
push eax
lea edx, [ebp - 0x248]
lea ecx, [ebp - 0x1d8]
call fcn.10036e02
pop ecx
xor ecx, ecx
mov byte [ebp - 4], 6
push ecx
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x19c], ecx
push eax
push 2
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 4
push eax
push ecx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1b8], 0
je 0x100cc147
cmp dword [ebp - 0x1c4], 0x10
lea ecx, [ebp - 0x19c]
push 0
push ecx
lea eax, [ebp - 0x1d8]
cmovae eax, dword [ebp - 0x1d8]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x18c]
call dword [ebp - 0x1b8]
add esp, 0x14
test eax, eax
jne 0x100cc147
cmp dword [ebp - 0x19c], eax
je 0x100cc147
push 4
pop ecx
push eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0xc8], ecx
push eax
push ecx
lea eax, [ebp - 0xc8]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1c0], 0
je 0x100cc10b
push dword [ebp - 0x19c]
call dword [ebp - 0x1c0]
pop ecx
cmp eax, 0x64
jne 0x100cc10b
push 0
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0xc8], 4
push eax
push 8
lea eax, [ebp - 0xc8]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1b4], 0
je 0x100cc0df
push 0
push dword [ebp - 0x19c]
call dword [ebp - 0x1b4]
pop ecx
pop ecx
mov dword [esi + 0x94], eax
mov edx, dword [esi + 0x94]
test edx, edx
js 0x100cc10b
lea ecx, [ebp - 0x1f4]
call fcn.10028cd7
push eax
mov ecx, ebx
call fcn.100347b9
push 0
push 1
lea ecx, [ebp - 0x1f4]
call fcn.10016cae
push 0
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0xc8], 4
push eax
push 5
lea eax, [ebp - 0xc8]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1bc], 0
je 0x100cc147
push dword [ebp - 0x19c]
call dword [ebp - 0x1bc]
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 5
call fcn.10016cae
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x100cc17b
cmp dword [esi + 0x94], eax
jge 0x100cc17b
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1004d2a7
mov eax, dword [ebp - 0x1c]
add esi, 0xe8
cmp esi, edi
jne 0x100cbfac
mov ebx, dword [ebp - 0xd4]
cmp ebx, dword [ebp - 0xd0]
je 0x100cc6d0
test eax, eax
jne 0x100cc697
push ecx
push ecx
lea ecx, [ebp - 0x454]
call fcn.100cb0a5
mov byte [ebp - 4], 7
xor esi, esi
mov dword [ebp - 0xc4], 0x781c7542
xor edx, edx
mov dword [ebp - 0xc0], 0x6a116a23
mov dword [ebp - 0xbc], 0x7e31760c
mov dword [ebp - 0xb8], 0x544a7621
mov dword [ebp - 0xb4], 0x722e6649
mov dword [ebp - 0xb0], 0x78303506
mov dword [ebp - 0xac], 0x4444883b
mov dword [ebp - 0xa8], 0x8b2d3d45
mov dword [ebp - 0xa4], 0x8c176f01
mov dword [ebp - 0xa0], 0x7a026e00
mov dword [ebp - 0x9c], 0x8146780a
mov dword [ebp - 0x98], 0x95209f1d
mov dword [ebp - 0x94], 0xad0e9d1e
mov dword [ebp - 0x90], 0x9b369e35
mov dword [ebp - 0x8c], 0x8d04b122
mov dword [ebp - 0x88], 0x6b33693f
mov dword [ebp - 0x84], 0xa441610b
mov dword [ebp - 0x80], 0x8847b72c
mov dword [ebp - 0x7c], 0xaf40b132
mov dword [ebp - 0x78], 0xbe19c434
mov dword [ebp - 0x74], 0xc614a44b
mov dword [ebp - 0x70], 0x7715a909
mov dword [ebp - 0x6c], 0xca3dc12f
mov dword [ebp - 0x68], 0xbe1bbe43
mov dword [ebp - 0x64], 0xc20fc418
mov dword [ebp - 0x60], 0xd026d428
mov dword [ebp - 0x5c], 0x9316dd37
mov dword [ebp - 0x58], 0xb807dc12
mov dword [ebp - 0x54], 0xd6279d1f
mov dword [ebp - 0x50], 0xe529d42a
mov dword [ebp - 0x4c], 0xcf05dd24
mov dword [ebp - 0x48], 0xc403ec0d
mov dword [ebp - 0x44], 0xf53ef62b
mov dword [ebp - 0x40], 0xf302f31a
mov dword [ebp - 0x3c], 0xd708b339
mov dword [ebp - 0x38], 0xf93cd748
mov dword [ebp - 0x34], 0xfa10f738
mov dword [ebp - 0x30], 0xf83a0113
mov word [ebp - 0x2c], 0xf625
cmp edx, 0x86
jne 0x100cc308
push 2
pop esi
jmp 0x100cc33a
movzx eax, byte [ebp + edx - 0xc3]
lea ecx, [esi - 1]
sub eax, edx
add ecx, eax
jns 0x100cc32b
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0xc4]
mov byte [ebp + eax - 0x12c], cl
add edx, 2
cmp edx, 0x9a
jb 0x100cc2fb
lea eax, [ebp - 0x12c]
mov byte [ebp - 0xe0], 0
push eax
lea ecx, [ebp - 0x16c]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x444]
call fcn.1002243f
push 0
push 1
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 7
call fcn.10016cae
push 0x4d
lea eax, [ebp - 0x12c]
push 0
push eax
call fcn.10123950
add esp, 0xc
mov dword [ebp - 0x17c], 0x2f002a0a
xor ecx, ecx
mov dword [ebp - 0x178], 0x5c054409
mov dword [ebp - 0x174], 0x37033508
xor esi, esi
mov dword [ebp - 0x170], 0x45025906
mov dword [ebp - 0x16c], 0x5f075f04
mov dword [ebp - 0x168], 0xda0f4601
mov dword [ebp - 0x164], 0xe405b854
mov dword [ebp - 0x160], 0xb973d64
mov dword [ebp - 0x15c], 0x80cef694
mov byte [ebp - 0x158], 0x28
cmp ecx, 0x16
jne 0x100cc407
push 0xf
pop esi
add ecx, 0xd
jmp 0x100cc439
movzx eax, byte [ebp + ecx - 0x17b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cc42a
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x17c]
mov byte [ebp + eax - 0x200], dl
add ecx, 2
cmp ecx, 0x25
jb 0x100cc3fa
lea eax, [ebp - 0x200]
mov byte [ebp - 0x1f5], 0
push eax
lea ecx, [ebp - 0x1f4]
call fcn.1001b5bd
xor eax, eax
mov byte [ebp - 4], 9
lea edi, [ebp - 0x200]
mov esi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, 1
test al, al
jne 0x100cc485
push dword [ebp - 0x190]
lea eax, [ebp - 0x444]
push eax
call fcn.1002225f
pop ecx
pop ecx
push dword [ebp - 0x190]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x1ac]
mov byte [ebp - 0x11], 0
mov edi, dword [eax]
lea ebx, [eax + 0x64]
push ecx
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x444]
push ecx
push dword [ebp - 0x194]
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [edi + 0xa8]
mov ecx, eax
call fcn.1002243f
pop ecx
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 - 0x1f4]
mov ecx, eax
call fcn.1002243f
mov al, byte [ebp - 0x11]
add esi, 4
cmp esi, dword [ebp - 0xd0]
jne 0x100cc46d
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x454]
call fcn.100cb14d
xor ebx, ebx
mov byte [ebp - 4], 0xa
push ebx
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x20], ebx
push eax
push 2
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 4
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a0], ebx
je 0x100cc665
cmp dword [ebp - 0x1c4], 0x10
lea ecx, [ebp - 0x20]
push ebx
push ecx
lea eax, [ebp - 0x1d8]
cmovae eax, dword [ebp - 0x1d8]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x18c]
call dword [ebp - 0x1a0]
add esp, 0x14
test eax, eax
jne 0x100cc665
cmp dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0xd4]
je 0x100cc66b
xor edi, edi
mov dword [ebp - 0x18], 4
inc edi
mov esi, ebx
push 0
lea eax, [ebp - 0x1a8]
push eax
push 0xf
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a8], 0
je 0x100cc5f6
mov eax, dword [esi]
push 0
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc4]
sub eax, dword [ecx + 0xc0]
push eax
push dword [ecx + 0xc0]
push edi
push dword [ebp - 0x20]
call dword [ebp - 0x1a8]
add esp, 0x14
inc edi
test eax, eax
jne 0x100cc5f6
add esi, 4
cmp esi, dword [ebp - 0xd0]
jne 0x100cc59c
jmp 0x100cc5f9
or edi, 0xffffffff
test edi, edi
jle 0x100cc630
push 0
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x18], 4
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a4], 0
je 0x100cc630
push dword [ebp - 0x20]
call dword [ebp - 0x1a4]
pop ecx
push 0
lea eax, [ebp - 0x198]
mov dword [ebp - 0x18], 4
push eax
push 5
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x198], 0
je 0x100cc66b
push dword [ebp - 0x20]
call dword [ebp - 0x198]
pop ecx
jmp 0x100cc66b
mov ebx, dword [ebp - 0xd4]
push 0
push 1
lea ecx, [ebp - 0x1d8]
call fcn.10016cae
push 0
push 1
lea ecx, [ebp - 0x1f4]
call fcn.10016cae
lea ecx, [ebp - 0x454]
call fcn.100c98ac
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test ebx, ebx
je 0x100cc6bf
push ebx
call fcn.10123626
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
pop ecx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
jmp 0x100cc6c1
xor ebx, ebx
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 2
jl 0x100cbf81
jmp 0x100cc6df
mov byte [ebp - 4], 4
test ebx, ebx
je 0x100cc6df
push ebx
call fcn.10123626
pop ecx
xor ecx, ecx
mov dword [ebp - 0x154], 0x55246616
mov dword [ebp - 0x150], 0x27202526
xor esi, esi
mov dword [ebp - 0x14c], 0x7a1d7207
mov dword [ebp - 0x148], 0x76297530
mov dword [ebp - 0x144], 0x782a5e0d
mov dword [ebp - 0x140], 0x762f741a
mov dword [ebp - 0x13c], 0x902c7d08
mov dword [ebp - 0x138], 0x8f276201
mov dword [ebp - 0x134], 0x82128933
mov dword [ebp - 0x130], 0x47067905
mov dword [ebp - 0x12c], 0x6834921b
mov dword [ebp - 0x128], 0xda107f0b
mov dword [ebp - 0x124], 0xfe4562ba
mov dword [ebp - 0x120], 0x1ae9a3d9
mov dword [ebp - 0x11c], 0x4a01eaae
mov dword [ebp - 0x118], 0x9031dcf2
mov dword [ebp - 0x114], 0x530eab11
mov dword [ebp - 0x110], 0x7c257804
mov dword [ebp - 0x10c], 0xb2198502
mov dword [ebp - 0x108], 0x9e189000
mov dword [ebp - 0x104], 0x890aad2e
mov dword [ebp - 0x100], 0xae159c21
mov dword [ebp - 0xfc], 0x9a0c6909
mov dword [ebp - 0xf8], 0x9423ba0f
mov dword [ebp - 0xf4], 0x9b22c41f
mov dword [ebp - 0xf0], 0xca17b628
mov dword [ebp - 0xec], 0xca10cb2d
mov dword [ebp - 0xe8], 0xc21ccd13
mov dword [ebp - 0xe4], 0xd632a603
mov dword [ebp - 0xe0], 0xc62bc614
mov word [ebp - 0xdc], 0xd71e
cmp ecx, 0x2e
jne 0x100cc825
push 0x10
pop esi
push 0x3c
pop ecx
jmp 0x100cc857
movzx eax, byte [ebp + ecx - 0x153]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100cc848
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x154]
mov byte [ebp + eax - 0x2f0], dl
add ecx, 2
cmp ecx, 0x7a
jb 0x100cc818
lea eax, [ebp - 0x2f0]
mov byte [ebp - 0x2bb], 0
push eax
lea ecx, [ebp - 0x230]
call fcn.1001b5bd
push 0x36
lea eax, [ebp - 0x2f0]
push 0
push eax
call fcn.10123950
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x20], eax
xor ebx, ebx
and dword [ebp - 0xd0], ebx
and dword [ebp - 0xcc], ebx
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 0xc
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
cmp esi, edi
je 0x100ccd7b
cmp dword [esi + 0x98], 0
mov dword [ebp - 0xc8], esi
jge 0x100cca41
lea ebx, [esi + 0xb8]
lea eax, [ebx - 0x3c]
push eax
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x1d8]
call fcn.10036e02
pop ecx
xor ecx, ecx
mov byte [ebp - 4], 0xd
push ecx
lea eax, [ebp - 0x198]
mov dword [ebp - 0x1c], ecx
push eax
push 2
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 4
push eax
push ecx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x198], 0
je 0x100cca2b
cmp dword [ebp - 0x1c4], 0x10
lea ecx, [ebp - 0x1c]
push 0
push ecx
lea eax, [ebp - 0x1d8]
cmovae eax, dword [ebp - 0x1d8]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x18c]
call dword [ebp - 0x198]
add esp, 0x14
test eax, eax
jne 0x100cca2b
cmp dword [ebp - 0x1c], eax
je 0x100cca2b
push 4
pop ecx
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x18], ecx
push eax
push ecx
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a4], 0
je 0x100cc9f8
push dword [ebp - 0x1c]
call dword [ebp - 0x1a4]
pop ecx
cmp eax, 0x64
jne 0x100cc9f8
push 0
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x18], 4
push eax
push 8
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a8], 0
je 0x100cc9cc
push 0
push dword [ebp - 0x1c]
call dword [ebp - 0x1a8]
pop ecx
pop ecx
mov dword [esi + 0x98], eax
mov edx, dword [esi + 0x98]
test edx, edx
js 0x100cc9f8
lea ecx, [ebp - 0x16c]
call fcn.10028cd7
push eax
mov ecx, ebx
call fcn.100347b9
push 0
push 1
lea ecx, [ebp - 0x16c]
call fcn.10016cae
push 0
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x18], 4
push eax
push 5
lea eax, [ebp - 0x18]
push eax
push 0
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x1a0], 0
je 0x100cca2b
push dword [ebp - 0x1c]
call dword [ebp - 0x1a0]
pop ecx
push 0
push 1
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0xc
call fcn.10016cae
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x100cca62
cmp dword [esi + 0x98], eax
jge 0x100cca62
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xd4]
call fcn.1004d2a7
mov eax, dword [ebp - 0x20]
add esi, 0xe8
cmp esi, edi
jne 0x100cc8bb
mov ebx, dword [ebp - 0xd4]
cmp ebx, dword [ebp - 0xd0]
je 0x100ccd7b
test eax, eax
jne 0x100ccd45
push ecx
push ecx
lea ecx, [ebp - 0x3a4]
call fcn.100cb0a5
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0xb4], 0x56027325
xor esi, esi
mov dword [ebp - 0xb0], 0x771f6c12
mov dword [ebp - 0xac], 0x6a305f37
mov dword [ebp - 0xa8], 0x82336c15
mov dword [ebp - 0xa4], 0x7822800d
mov dword [ebp - 0xa0], 0x65087d34
mov dword [ebp - 0x9c], 0x6f096b04
mov dword [ebp - 0x98], 0x7e176607
mov dword [ebp - 0x94], 0x43066a00
mov dword [ebp - 0x90], 0x50357301
mov dword [ebp - 0x8c], 0x77399c1c
mov dword [ebp - 0x88], 0x98189a0c
mov dword [ebp - 0x84], 0xa328900f
mov dword [ebp - 0x80], 0x8c3aaa2d
mov dword [ebp - 0x7c], 0x8e3c611e
mov dword [ebp - 0x78], 0xb4249e11
mov dword [ebp - 0x74], 0xaa21a02c
mov dword [ebp - 0x70], 0x8c3bbc16
mov dword [ebp - 0x6c], 0xae19aa29
mov dword [ebp - 0x68], 0x38d6f00a
mov dword [ebp - 0x64], 0x87db2488
mov dword [ebp - 0x60], 0xb5314bc0
mov dword [ebp - 0x5c], 0xb232c90e
mov dword [ebp - 0x58], 0xba13c21a
mov dword [ebp - 0x54], 0x7936c710
mov dword [ebp - 0x50], 0x7d1daf05
mov dword [ebp - 0x4c], 0xd414cb26
mov dword [ebp - 0x48], 0xb40a8f27
mov dword [ebp - 0x44], 0xaa38d92e
mov dword [ebp - 0x40], 0xce20d91b
mov dword [ebp - 0x3c], 0xd62bd62a
mov dword [ebp - 0x38], 0x950bdf2f
mov dword [ebp - 0x34], 0xd823bc03
cmp ecx, 0x4c
jne 0x100ccbba
push 0xa
pop esi
push 0x54
pop ecx
jmp 0x100ccbec
movzx eax, byte [ebp + ecx - 0xb3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ccbdd
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xb4]
mov byte [ebp + eax - 0x118], dl
add ecx, 2
cmp ecx, 0x84
jb 0x100ccbad
lea eax, [ebp - 0x118]
mov byte [ebp - 0xdb], 0
push eax
lea ecx, [ebp - 0x16c]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x394]
call fcn.1002243f
push 0
push 1
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0xe
call fcn.10016cae
push 0x3e
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.10123950
add esp, 0xc
mov al, 1
mov esi, ebx
test al, al
jne 0x100ccc63
push dword [ebp - 0x190]
lea eax, [ebp - 0x394]
push eax
call fcn.1002225f
pop ecx
pop ecx
push dword [ebp - 0x188]
mov eax, dword [esi]
push ecx
push dword [ebp - 0x190]
mov byte [ebp - 0x11], 0
mov edi, dword [eax]
lea ebx, [eax + 0x7c]
push ecx
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x394]
push ecx
push dword [ebp - 0x1ac]
push ecx
push dword [ebp - 0x194]
push eax
call fcn.1002225f
add esp, 0xc
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [edi + 0x30]
mov ecx, eax
call fcn.1002243f
pop ecx
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
pop ecx
push eax
call fcn.1002225f
mov al, byte [ebp - 0x11]
add esi, 4
pop ecx
pop ecx
cmp esi, dword [ebp - 0xd0]
jne 0x100ccc4b
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x3a4]
call fcn.100cb14d
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1f4]
push dword [ebp - 0x18c]
xor cl, cl
push 0x6a4d
push 0x2870
push 0x3bb8
call fcn.100cd127
add esp, 0x10
lea ecx, [ebp - 0x1f4]
push 0
push 1
call fcn.10016cae
lea ecx, [ebp - 0x3a4]
call fcn.100c98ac
mov ebx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0xb
test ebx, ebx
je 0x100ccd6c
push ebx
call fcn.10123626
and dword [ebp - 0xd4], 0
and dword [ebp - 0xd0], 0
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x20]
pop ecx
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 2
jl 0x100cc890
jmp 0x100ccd8a
mov byte [ebp - 4], 0xb
test ebx, ebx
je 0x100ccd8a
push ebx
call fcn.10123626
pop ecx
push ecx
push ecx
lea ecx, [ebp - 0x504]
call fcn.100cb0a5
mov byte [ebp - 4], 0x11
xor ebx, ebx
mov dword [ebp - 0xbc], 0x7221460f
mov ecx, ebx
mov dword [ebp - 0xb8], 0x7416662b
mov esi, ebx
mov dword [ebp - 0xb4], 0x540a3239
mov dword [ebp - 0xb0], 0x7f237033
mov dword [ebp - 0xac], 0x721f6014
mov dword [ebp - 0xa8], 0x60007c2c
mov dword [ebp - 0xa4], 0x673d871d
mov dword [ebp - 0xa0], 0x6d01640b
mov dword [ebp - 0x9c], 0xb90eea10
mov dword [ebp - 0x98], 0xb27392a3
mov dword [ebp - 0x94], 0x57dfe980
mov dword [ebp - 0x90], 0x2aeded12
mov dword [ebp - 0x8c], 0x43159017
mov dword [ebp - 0x88], 0x7c3e9f18
mov dword [ebp - 0x84], 0x7d089d20
mov dword [ebp - 0x80], 0x90249632
mov dword [ebp - 0x7c], 0x922e8402
mov dword [ebp - 0x78], 0xaa279436
mov dword [ebp - 0x74], 0xa2257e03
mov dword [ebp - 0x70], 0x8d0c8611
mov dword [ebp - 0x6c], 0x9112823c
mov dword [ebp - 0x68], 0x9a409b3b
mov dword [ebp - 0x64], 0x903fad38
mov dword [ebp - 0x60], 0xc21e9c07
mov dword [ebp - 0x5c], 0x7306c12a
mov dword [ebp - 0x58], 0x77287d29
mov dword [ebp - 0x54], 0xc42fbc1b
mov dword [ebp - 0x50], 0xb305c637
mov dword [ebp - 0x4c], 0xd135b00d
mov dword [ebp - 0x48], 0x9331d434
mov dword [ebp - 0x44], 0xca228909
mov dword [ebp - 0x40], 0xd4268d10
mov dword [ebp - 0x3c], 0xd219c30e
mov dword [ebp - 0x38], 0xc904de1a
mov dword [ebp - 0x34], 0xdf30cd13
mov dword [ebp - 0x30], 0x9f3ae22d
mov word [ebp - 0x2c], 0xf01c
cmp ecx, 0x20
jne 0x100ccedd
push 0x10
pop esi
push 0x2e
pop ecx
jmp 0x100ccf0f
movzx eax, byte [ebp + ecx - 0xbb]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ccf00
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xbc]
mov byte [ebp + eax - 0x11c], dl
add ecx, 2
cmp ecx, 0x92
jb 0x100cced0
lea eax, [ebp - 0x11c]
mov byte [ebp - 0xdb], bl
push eax
lea ecx, [ebp - 0x16c]
call fcn.1001b5bd
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x4f4]
call fcn.1002243f
push ebx
push 1
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x11
call fcn.10016cae
push 0x42
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.10123950
mov ecx, dword [ebp - 0x1b0]
add esp, 0xc
mov al, bl
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
cmp esi, edi
je 0x100cd056
cmp dword [esi + 0x94], ebx
jl 0x100ccffb
cmp dword [esi + 0x98], ebx
jl 0x100ccffb
test al, al
je 0x100ccfa4
push dword [ebp - 0x190]
lea eax, [ebp - 0x4f4]
push eax
call fcn.1002225f
pop ecx
pop ecx
push dword [ebp - 0x188]
lea eax, [ebp - 0x4f4]
mov byte [ebp - 0x11], 1
push ecx
push dword [ebp - 0x190]
push ecx
push dword [ebp - 0x194]
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [esi + 0xb8]
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
pop ecx
pop ecx
lea edx, [esi + 0xa0]
mov ecx, eax
call fcn.1002243f
pop ecx
push eax
call fcn.1002225f
mov al, byte [ebp - 0x11]
xor ebx, ebx
pop ecx
pop ecx
add esi, 0xe8
cmp esi, edi
jne 0x100ccf7c
test al, al
je 0x100cd056
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x504]
call fcn.100cb14d
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x1f4]
push dword [ebp - 0x18c]
xor cl, cl
push 0x760e
push 0x592d
push 0x37cf
call fcn.100cd127
add esp, 0x10
lea ecx, [ebp - 0x1f4]
push ebx
push 1
call fcn.10016cae
lea ecx, [ebp - 0x504]
mov byte [ebp - 4], 0xb
call fcn.100c98ac
push ebx
lea eax, [ebp - 0x188]
mov dword [ebp - 0x18], 4
push eax
push 6
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.100d46b6
add esp, 0x14
cmp dword [ebp - 0x188], 0
je 0x100cd099
push dword [ebp - 0x18c]
call dword [ebp - 0x188]
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x230]
call fcn.10016cae
push ebx
push 1
lea ecx, [ebp - 0x248]
call fcn.10016cae
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x1dc]
test esi, esi
je 0x100cd0d1
mov ecx, esi
call fcn.1005a8c4
push esi
call fcn.10123626
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x218]
call fcn.10014706
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret