Function at 0x1001810e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005e0bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x13c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x106086c4]
and eax, 1
jne 0x10018167
mov eax, dword [0x106086c4]
or eax, 1
mov dword [0x106086c4], eax
and dword [ebp - 4], 0
mov ecx, 0x106086f4
call fcn.10014a21
push 0x1005ebce
call fcn.1004852c
pop ecx
or dword [ebp - 4], 0xffffffff
push dword [ebp + 8]
lea ecx, [ebp - 0xd4]
call fcn.100146f4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10014d66
push dword [eax]
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10014d7a
push dword [eax]
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10014d66
push dword [eax]
mov edx, 0x100161e5
lea ecx, [ebp - 0x100]
call fcn.1001ae16
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.10016170
mov dword [ebp - 0x8c], eax
movzx eax, byte [0x106085bd]
test eax, eax
je 0x10018262
mov ecx, 0x106086f4
call fcn.1001aaf1
movzx eax, al
test eax, eax
jne 0x10018262
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, 0x106086f4
call fcn.100149f9
lea eax, [ebp - 0xf8]
push eax
mov ecx, 0x106086f4
call fcn.100149eb
push eax
lea ecx, [ebp - 0x88]
call fcn.10014a0e
movzx eax, al
test eax, eax
je 0x10018262
lea ecx, [ebp - 0x88]
call fcn.1001aafa
mov eax, dword [eax + 4]
mov dword [ebp - 0xb8], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.10014779
mov eax, dword [ebp - 0xb8]
jmp 0x100187c1
and dword [ebp - 0x20], 0
lea eax, [ebp - 0xd4]
push eax
call fcn.10017653
pop ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x1001877f
cmp dword [0x106085c0], 0
jne 0x10018764
mov byte [ebp - 0x40], 1
mov byte [ebp - 0x3f], 0x7c
mov byte [ebp - 0x3e], 0xb
mov byte [ebp - 0x3d], 9
mov byte [ebp - 0x3c], 4
mov byte [ebp - 0x3b], 0xf1
mov byte [ebp - 0x3a], 0x5c
mov byte [ebp - 0x39], 0xa3
mov byte [ebp - 0x38], 0xcc
mov byte [ebp - 0x37], 2
mov byte [ebp - 0x36], 0x1e
mov byte [ebp - 0x35], 5
mov byte [ebp - 0x34], 0x1e
mov byte [ebp - 0x33], 4
mov byte [ebp - 0x32], 9
mov byte [ebp - 0x31], 6
mov byte [ebp - 0x30], 0x56
mov byte [ebp - 0x2f], 0xa
mov byte [ebp - 0x2e], 0x5f
mov byte [ebp - 0x2d], 0
mov byte [ebp - 0x2c], 0x27
mov byte [ebp - 0x2b], 7
mov byte [ebp - 0x2a], 0x79
mov byte [ebp - 0x29], 3
mov byte [ebp - 0x28], 0x5c
mov byte [ebp - 0x27], 9
mov byte [ebp - 0x26], 0xa
mov byte [ebp - 0x25], 8
mov byte [ebp - 0x24], 0x4a
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x40]
or eax, 0x19
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x40]
and ecx, 0x19
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x40]
mov word [ebp + ecx*2 - 0xf0], ax
mov dword [ebp - 0x18], 2
and dword [ebp - 0x74], 0
jmp 0x10018347
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x1d
jae 0x100183da
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x40]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x18], eax
jne 0x10018385
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x40]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x40]
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x18], eax
jmp 0x1001833f
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x3f]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x74]
movzx ecx, byte [ebp + ecx - 0x42]
movzx ecx, word [ebp + ecx*2 - 0xf0]
or eax, ecx
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x3f]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x74]
movzx edx, byte [ebp + edx - 0x42]
movzx edx, word [ebp + edx*2 - 0xf0]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x40]
mov word [ebp + ecx*2 - 0xf0], ax
and dword [ebp - 0x74], 0
jmp 0x1001833f
push 2
pop eax
imul eax, eax, 0xc
xor ecx, ecx
mov word [ebp + eax - 0xf0], cx
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x134]
call fcn.1001aa43
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 2
push dword [ebp - 0xbc]
call fcn.10017653
pop ecx
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x134]
call fcn.10014779
and dword [ebp - 0x7c], 0
jmp 0x1001843d
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0xd
jae 0x10018452
xor eax, eax
mov ecx, dword [ebp - 0x7c]
mov word [ebp + ecx*2 - 0xf0], ax
jmp 0x10018436
cmp dword [ebp - 0x80], 0
je 0x10018764
mov byte [ebp - 0x68], 6
mov byte [ebp - 0x67], 0x24
mov byte [ebp - 0x66], 0xb
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 3
mov byte [ebp - 0x63], 0x33
mov byte [ebp - 0x62], 4
mov byte [ebp - 0x61], 0x28
mov byte [ebp - 0x60], 9
mov byte [ebp - 0x5f], 0x3e
mov byte [ebp - 0x5e], 8
mov byte [ebp - 0x5d], 0x13
mov byte [ebp - 0x5c], 0
mov byte [ebp - 0x5b], 0x2d
mov byte [ebp - 0x5a], 0xd
mov byte [ebp - 0x59], 0x94
mov byte [ebp - 0x58], 0x74
mov byte [ebp - 0x57], 0x63
mov byte [ebp - 0x56], 0xd4
mov byte [ebp - 0x55], 0xc4
mov byte [ebp - 0x54], 0x6e
mov byte [ebp - 0x53], 0xec
mov byte [ebp - 0x52], 0x12
mov byte [ebp - 0x51], 0xc9
mov byte [ebp - 0x50], 0x54
mov byte [ebp - 0x4f], 0x68
mov byte [ebp - 0x4e], 0x7b
mov byte [ebp - 0x4d], 0x52
mov byte [ebp - 0x4c], 2
mov byte [ebp - 0x4b], 0x2d
mov byte [ebp - 0x4a], 5
mov byte [ebp - 0x49], 8
mov byte [ebp - 0x48], 0xa
mov byte [ebp - 0x47], 0x10
mov byte [ebp - 0x46], 1
mov byte [ebp - 0x45], 0x16
mov byte [ebp - 0x44], 7
mov byte [ebp - 0x43], 0x1d
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x68]
or eax, 0x46
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x68]
and ecx, 0x46
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0x68]
mov byte [ebp + ecx - 0x9c], al
mov dword [ebp - 0x14], 2
and dword [ebp - 0x1c], 0
jmp 0x10018539
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x26
jae 0x100186f6
mov dword [ebp - 0x84], 0x504f
mov dword [ebp - 0xb4], 0x10008000
cmp dword [ebp - 0x84], 0x5299
jle 0x100185ee
and dword [ebp - 0x78], 0
jmp 0x10018574
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x6fd2
jge 0x100185e6
and dword [ebp - 0x6c], 0
jmp 0x1001858a
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x5ed8
jge 0x100185e4
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x6c]
cdq
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x14c]
call fcn.1000d330
pop ecx
pop ecx
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
call fcn.1000e78f
push eax
call fcn.10048556
pop ecx
lea ecx, [ebp - 0x14c]
call fcn.1000e785
jmp 0x10018583
jmp 0x1001856d
push 0
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x68]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x10018625
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x68]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x68]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x10018531
mov byte [ebp - 4], 3
cmp dword [ebp - 0x84], 0x4fb1
jge 0x10018641
push dword [ebp - 0xb4]
call fcn.10048556
pop ecx
jmp 0x1001865d
mov dword [ebp - 4], 1
jmp 0x1001866d
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x67]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
movzx ecx, byte [ebp + ecx - 0x6a]
movsx ecx, byte [ebp + ecx - 0x9c]
add eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x67]
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
movzx edx, byte [ebp + edx - 0x6a]
movsx edx, byte [ebp + edx - 0x9c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x67]
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
movzx edx, byte [ebp + edx - 0x6a]
movsx edx, byte [ebp + edx - 0x9c]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x68]
mov byte [ebp + ecx - 0x9c], al
push 0x2940
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x5ebe
push 1
call fcn.1001a756
add esp, 0x14
jmp 0x10018531
xor eax, eax
inc eax
imul eax, eax, 0xc
mov byte [ebp + eax - 0x9c], 0
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.1001aa73
mov byte [ebp - 4], 5
and dword [ebp - 0x70], 0
jmp 0x10018727
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xd
jae 0x1001873a
mov eax, dword [ebp - 0x70]
mov byte [ebp + eax - 0x9c], 0
jmp 0x10018720
push 0
push 0
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0x80]
call fcn.1001942a
add esp, 0x10
mov dword [0x106085c0], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11c]
call fcn.100148a1
cmp dword [0x106085c0], 0
je 0x1001877f
mov ecx, dword [ebp + 8]
call fcn.1001aa68
push eax
call dword [0x106085c0]
mov dword [ebp - 0x20], eax
push 0
push 0x1de5
push 0x106085bd
lea eax, [ebp - 0x8c]
push eax
push 0x106086f4
lea eax, [ebp - 0x20]
push eax
call fcn.1001a7d5
add esp, 0x18
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb0], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.10014779
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret