Function at 0x100189c8
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [0x10054040]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
mov esi, ecx
mov dword [esp + 0x1c], 0x6a776205
push edi
mov dword [esp + 0x78], esi
mov cl, 5
mov dword [esp + 0x24], 0x715a7570
xor eax, eax
mov edi, dword [esi]
mov word [esp + 0x28], 0x756a
mov byte [esp + 0x2a], 0
xor byte [esp + eax + 0x21], cl
inc eax
cmp eax, 9
jae 0x10018a1c
mov cl, byte [esp + 0x20]
jmp 0x10018a0c
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, eax
mov dword [esp + 0x48], 0x607d6c18
add esp, 0x18
mov dword [esi + 4], edi
mov cl, 0x18
mov dword [esp + 0x34], 0x716c476c
mov dword [esp + 0x38], 0x7d746c
xor eax, eax
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0xa
jae 0x10018a6b
mov cl, byte [esp + 0x30]
jmp 0x10018a5b
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi + 4]
add esp, 0x18
mov dword [esi + 8], eax
xor eax, eax
mov dword [esp + 0x11], 0x14180514
mov dword [esp + 0x15], 0xe09173f
push 0x60
pop ecx
mov byte [esp + 0x10], cl
mov dword [esp + 0x19], 0x1312050e
mov byte [esp + 0x1d], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xc
jae 0x10018ac5
mov cl, byte [esp + 0x10]
jmp 0x10018ab5
sub esp, 0x18
mov byte [esp + 0x35], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi + 4]
add esp, 0x18
mov dword [esi + 0xc], eax
mov cl, 0x55
mov dword [esp + 0x20], 0x2d302155
xor eax, eax
mov dword [esp + 0x24], 0x3c210a21
mov word [esp + 0x28], 0x3038
mov byte [esp + 0x2a], 0
xor byte [esp + eax + 0x21], cl
inc eax
cmp eax, 9
jae 0x10018b19
mov cl, byte [esp + 0x20]
jmp 0x10018b09
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi + 4]
add esp, 0x18
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esp + 0x21], 0x48796355
mov dword [esp + 0x25], 0x64787b54
push 0x17
pop ecx
mov byte [esp + 0x20], cl
mov word [esp + 0x29], 0x72
xor byte [esp + eax + 0x21], cl
inc eax
cmp eax, 9
jae 0x10018b6d
mov cl, byte [esp + 0x20]
jmp 0x10018b5d
sub esp, 0x18
mov byte [esp + 0x42], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi + 4]
add esp, 0x18
mov dword [esi + 0x14], eax
mov cl, 0x29
mov dword [esp + 0x40], 0x475d6b29
xor eax, eax
mov dword [esp + 0x44], 0x4c596676
mov word [esp + 0x48], 0x47
xor byte [esp + eax + 0x41], cl
inc eax
cmp eax, 8
jae 0x10018bbc
mov cl, byte [esp + 0x40]
jmp 0x10018bac
sub esp, 0x18
mov byte [esp + 0x61], 0
lea eax, [esp + 0x59]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi + 4]
add esp, 0x18
mov dword [esi + 0x18], eax
mov cl, 0x57
mov dword [esp + 0x40], 0x39231557
xor eax, eax
mov dword [esp + 0x44], 0x333e1f08
mov word [esp + 0x48], 0x32
xor byte [esp + eax + 0x41], cl
inc eax
cmp eax, 8
jae 0x10018c0b
mov cl, byte [esp + 0x40]
jmp 0x10018bfb
sub esp, 0x18
mov byte [esp + 0x61], 0
lea eax, [esp + 0x59]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edi, dword [esi]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov cl, 0xd
mov dword [esp + 0x10], 0x627f6a0d
xor eax, eax
mov dword [esp + 0x14], 0x6e527d78
mov dword [esp + 0x18], 0x68796362
mov word [esp + 0x1c], 0x7963
mov byte [esp + 0x1e], 0
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xd
jae 0x10018c66
mov cl, byte [esp + 0x10]
jmp 0x10018c56
sub esp, 0x18
mov byte [esp + 0x36], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov dword [esi + 0x20], eax
add esp, 0x18
lea eax, [esi + 0x24]
mov dword [esp + 0x58], 3
mov dword [esp + 0x3c], eax
xor ecx, ecx
lea eax, [esi + 0x50]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov edi, dword [esi + 0x20]
sub esp, 0x18
mov dword [esp + 0x74], esp
xor eax, eax
mov dword [esp + 0x58], 0x1e031671
mov dword [esp + 0x5c], 0x542e0104
push ecx
mov cl, 0x71
mov word [esp + 0x64], 0x15
xor byte [esp + eax + 0x5d], cl
inc eax
cmp eax, 8
jae 0x10018cd9
mov cl, byte [esp + 0x5c]
jmp 0x10018cc9
sub esp, 0x18
mov byte [esp + 0x7d], 0
lea eax, [esp + 0x75]
mov ecx, esp
push eax
call fcn.10003da4
push dword [esp + 0x90]
call fcn.100039ed
add esp, 0x20
mov ecx, edi
call fcn.1000c6eb
mov edi, eax
mov dword [esp + 0x48], 0x656f6b02
mov eax, dword [esp + 0x54]
add esp, 0x18
mov cl, 2
mov dword [esp + 0x34], 0x67676c5d
mov word [esp + 0x38], 0x7166
mov byte [esp + 0x3a], 0
mov dword [eax], edi
xor eax, eax
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 9
jae 0x10018d3e
mov cl, byte [esp + 0x30]
jmp 0x10018d2e
sub esp, 0x18
mov byte [esp + 0x52], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov ecx, dword [esp + 0x68]
add esp, 0x18
mov dword [esp + 0x10], 0x2b2b204e
mov dword [esp + 0x14], 0x2d113d2a
mov dword [esp + 0x18], 0x3a203b21
mov dword [ecx - 4], eax
mov cl, 0x4e
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x1c], 0
mov edi, dword [eax]
xor eax, eax
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xb
jae 0x10018d9a
mov cl, byte [esp + 0x10]
jmp 0x10018d8a
sub esp, 0x18
mov byte [esp + 0x34], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov ecx, dword [esp + 0x68]
add esp, 0x18
movups xmm0, xmmword [0x1004c9d0]
mov dword [ecx], eax
xor ecx, ecx
mov eax, dword [esp + 0x3c]
movups xmmword [esp + 0x7c], xmm0
mov edi, dword [eax]
mov al, byte [esp + 0x7c]
xor byte [esp + ecx + 0x7d], al
inc ecx
cmp ecx, 0xe
jb 0x10018dd2
sub esp, 0x18
mov byte [esp + 0xa3], 0
lea eax, [esp + 0x95]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov ecx, dword [esp + 0x68]
add esp, 0x18
mov dword [esp + 0x20], 0x24282450
mov dword [esp + 0x24], 0x3d313e0f
mov word [esp + 0x28], 0x35
mov dword [ecx + 4], eax
mov cl, 0x50
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
xor eax, eax
xor byte [esp + eax + 0x21], cl
inc eax
cmp eax, 8
jae 0x10018e3c
mov cl, byte [esp + 0x20]
jmp 0x10018e2c
sub esp, 0x18
mov byte [esp + 0x41], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
mov edx, dword [esp + 0x68]
add esp, 0x18
mov ecx, dword [esp + 0x54]
add dword [esp + 0x3c], 4
inc ecx
mov dword [esp + 0x54], ecx
mov dword [edx + 8], eax
add edx, 0x18
sub dword [esp + 0x58], 1
mov dword [esp + 0x50], edx
jne 0x10018ca3
mov edi, dword [esi]
mov cl, 0x54
mov dword [esp + 0x10], 0x3b263354
xor eax, eax
mov dword [esp + 0x14], 0x260b2421
mov dword [esp + 0x18], 0x26352331
mov word [esp + 0x1c], 0x30
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xc
jae 0x10018eb6
mov cl, byte [esp + 0x10]
jmp 0x10018ea6
sub esp, 0x18
mov byte [esp + 0x35], 0
lea eax, [esp + 0x29]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
add esp, 0x18
mov dword [esp + 0x31], 0x76475d6b
mov edi, eax
mov dword [esp + 0x35], 0x485e4c7b
mov dword [esi + 0x30], edi
xor eax, eax
mov word [esp + 0x39], 0x4d5b
push 0x29
pop ecx
mov byte [esp + 0x30], cl
mov byte [esp + 0x3b], 0
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0xa
jae 0x10018f0e
mov cl, byte [esp + 0x30]
jmp 0x10018efe
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, edi
call fcn.1000c6eb
add esp, 0x18
mov dword [esi + 0x40], eax
xor ecx, ecx
mov dword [esp + 0x50], 3
lea edi, [esi + 0x8c]
mov dword [esp + 0x58], ecx
lea eax, [esi + 0x34]
mov dword [esp + 0x54], edi
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x30]
sub esp, 0x18
mov dword [esp + 0x74], esp
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], 0x4c584f3d
push ecx
mov cl, 0x3d
mov dword [esp + 0x30], 0x5c495448
mov dword [esp + 0x34], 0x59186251
mov byte [esp + 0x38], 0
xor byte [esp + eax + 0x2d], cl
inc eax
cmp eax, 0xb
jae 0x10018f8e
mov cl, byte [esp + 0x2c]
jmp 0x10018f7e
sub esp, 0x18
mov byte [esp + 0x50], 0
lea eax, [esp + 0x45]
mov ecx, esp
push eax
call fcn.10003da4
push dword [esp + 0x90]
call fcn.100039ed
mov ecx, dword [esp + 0x44]
add esp, 0x20
call fcn.1000c6eb
mov ecx, eax
mov dword [esp + 0x38], 0x14031071
mov eax, dword [esp + 0x54]
add esp, 0x18
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], 0x14032e10
mov dword [esp + 0x28], 0x15031006
mov dword [eax], ecx
mov cl, 0x71
mov byte [esp + 0x2c], 0
xor eax, eax
xor byte [esp + eax + 0x21], cl
inc eax
cmp eax, 0xb
jae 0x10018ffa
mov cl, byte [esp + 0x20]
jmp 0x10018fea
sub esp, 0x18
mov byte [esp + 0x44], 0
lea eax, [esp + 0x39]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, dword [esp + 0x24]
call fcn.1000c6eb
mov dword [edi + 8], eax
add esp, 0x18
mov eax, dword [esp + 0x3c]
mov cl, 0x36
mov dword [esp + 0x30], 0x424e4236
mov dword [esp + 0x34], 0x41534469
mov dword [esp + 0x38], 0x524457
mov eax, dword [eax]
mov dword [esp + 0xc], eax
xor eax, eax
xor byte [esp + eax + 0x31], cl
inc eax
cmp eax, 0xa
jae 0x10019053
mov cl, byte [esp + 0x30]
jmp 0x10019043
sub esp, 0x18
mov byte [esp + 0x53], 0
lea eax, [esp + 0x49]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, dword [esp + 0x24]
call fcn.1000c6eb
movups xmm0, xmmword [0x1004d1c0]
mov dword [edi + 0xc], eax
add esp, 0x18
mov eax, dword [esp + 0x3c]
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
mov word [esp + 0x74], 0x5a
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov al, byte [esp + 0x64]
xor byte [esp + ecx + 0x65], al
inc ecx
cmp ecx, 0x10
jb 0x10019095
sub esp, 0x18
mov byte [esp + 0x8d], 0
lea eax, [esp + 0x7d]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, dword [esp + 0x24]
call fcn.1000c6eb
movups xmm0, xmmword [0x1004d210]
mov dword [edi + 0x10], eax
add esp, 0x18
mov eax, dword [esp + 0x3c]
xor ecx, ecx
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x74], 0
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov al, byte [esp + 0x64]
xor byte [esp + ecx + 0x65], al
inc ecx
cmp ecx, 0xf
jb 0x100190e6
sub esp, 0x18
mov byte [esp + 0x8c], 0
lea eax, [esp + 0x7d]
mov ecx, esp
push eax
call fcn.10003da4
mov ecx, dword [esp + 0x24]
call fcn.1000c6eb
add esp, 0x18
mov dword [edi + 0x14], eax
call fcn.1000a61a
test eax, eax
je 0x100191e9
mov dword [edi], eax
call fcn.1000cdc0
test eax, eax
je 0x100191e9
mov ecx, dword [edi]
mov dword [ecx], eax
mov ecx, dword [edi]
mov edx, dword [esi]
mov ecx, dword [ecx]
call fcn.1000c6b5
mov eax, dword [edi]
xor edx, edx
mov esi, 0x3f340000
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xcc]
mov dword [ecx + 0x13c], edx
mov dword [ecx + 0x140], edx
mov dword [ecx + 0x144], esi
mov dword [ecx + 0x148], esi
mov dword [ecx + 0x1f0], edx
mov dword [ecx + 0x1f4], edx
mov dword [ecx + 0x1f8], edx
mov dword [ecx + 0x1fc], edx
call eax
mov ecx, dword [edi]
mov ecx, dword [ecx]
call fcn.1000c994
mov ecx, dword [edi]
mov edx, pe_nt_image_headers32
mov ecx, dword [ecx]
call fcn.1000ca36
mov ecx, dword [edi + 8]
lea eax, [esp + 0x40]
push eax
call fcn.1000c754
mov esi, eax
lea edi, [esp + 0x80]
pop ecx
lea edx, [esp + 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x54]
mov ecx, dword [edi]
mov ecx, dword [ecx]
call fcn.1000ce15
mov ecx, dword [edi]
lea edx, [esp + 0x7c]
mov ecx, dword [ecx]
call fcn.1000c7c8
mov ecx, dword [edi]
xor dl, dl
mov ecx, dword [ecx]
call fcn.1000c916
mov esi, dword [esp + 0x78]
call fcn.1000a61a
test eax, eax
je 0x100191f5
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x58]
add edi, 0x18
add dword [esp + 0x3c], 4
inc ecx
sub dword [esp + 0x50], 1
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edi
jne 0x10018f4e
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.1003c324
mov esp, ebp
pop ebp
ret