Function at 0x4195b6
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, 0x19c
push ebx
push esi
xor ebx, ebx
mov word [esp + 8], 0xf4ee
push edi
mov byte [esp + 0xe], 0xe8
mov ecx, ebx
mov al, byte [esp + ecx + 0xc]
add al, 0x7f
mov byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 3
jl 0x4195d5
mov byte [esp + 0x10b], bl
mov ecx, ebx
mov dword [esp + 0x24], 0xb5b0adaf
mov word [esp + 0x28], 0xb9a8
mov byte [esp + 0x2a], 0xef
mov al, byte [esp + ecx + 0x24]
xor al, 0xdc
mov byte [esp + ecx + 0x110], al
inc ecx
cmp ecx, 7
jl 0x419605
mov byte [esp + 0x117], bl
cmp dword [0x424db8], ebx
je 0x41962e
mov al, 1
jmp 0x419dae
lea edx, [esp + 0x110]
mov byte [esp + 0x23], bl
lea ecx, [esp + 0x108]
call fcn.0041862d
mov edi, eax
test edi, edi
je 0x419c93
lea eax, [esp + 0x24]
push eax
push edi
call fcn.00405b40
pop ecx
mov edx, eax
mov ecx, edi
call fcn.0040f780
mov dword [esp + 0x110], eax
pop ecx
test eax, eax
je 0x419750
push 0x400
call fcn.0040570b
mov esi, eax
pop ecx
test esi, esi
je 0x419743
xor ecx, ecx
mov edx, 0xd016cbb7
push esi
push 0x200
inc ecx
call fcn.00412cbc
call eax
test eax, eax
je 0x419743
mov dword [esp + 0xc], 0xbcbcb47e
mov ecx, ebx
mov edx, 0xff
movzx eax, byte [esp + ecx + 0xc]
sub ax, 0x50
and ax, dx
mov word [esp + ecx*2 + 0x10], ax
inc ecx
cmp ecx, 4
jl 0x4196b5
xor eax, eax
push esi
mov word [esp + 0x1c], ax
call fcn.0040581e
pop ecx
push 0x5c
pop edx
movzx ecx, word [esi + eax*2 - 2]
cmp cx, dx
je 0x4196f7
cmp ecx, 0x2f
je 0x4196f7
xor ecx, ecx
mov word [esi + eax*2], dx
mov word [esi + eax*2 + 2], cx
push 0x10
pop edx
lea ecx, [esp + 0xe8]
call fcn.0041b612
lea eax, [esp + 0xe8]
push eax
push esi
call fcn.00405bcb
lea eax, [esp + 0x18]
push eax
push esi
call fcn.00405bcb
push dword [esp + 0x34]
mov edx, dword [esp + 0x120]
mov ecx, esi
call fcn.0041b71c
add esp, 0x14
test al, al
je 0x419743
mov byte [esp + 0x23], 1
mov dword [0x424db4], esi
push dword [esp + 0x10c]
call fcn.004056f0
pop ecx
push edi
call fcn.004056f0
pop ecx
cmp byte [esp + 0x23], bl
je 0x419d96
push dword [0x424db4]
xor ecx, ecx
mov edx, 0xf6e264ab
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424db8], eax
test eax, eax
je 0x419c8c
mov dword [esp + 0x10], 0x2d283537
mov ecx, ebx
mov dword [esp + 0x14], 0x1b772130
mov dword [esp + 0x18], 0x2a21342b
mov al, byte [esp + ecx + 0x10]
xor al, 0x44
mov byte [esp + ecx + 0x130], al
inc ecx
cmp ecx, 0xc
jl 0x41979d
mov byte [esp + 0x13c], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0x92959a9c
mov dword [esp + 0x30], 0x885c8e9d
mov dword [esp + 0x34], 0x978e9998
mov word [esp + 0x38], 0x9f88
mov byte [esp + 0x3a], 0x5b
mov al, byte [esp + ecx + 0x2c]
sub al, 0x29
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 0xf
jl 0x4197dd
mov byte [esp + 0x14f], bl
mov ecx, ebx
mov dword [esp + 0x5c], 0x13160b09
mov dword [esp + 0x60], 0x25491f0e
mov dword [esp + 0x64], 0xa1f080a
mov dword [esp + 0x68], 0x251f081b
mov word [esp + 0x6c], 0x480c
mov al, byte [esp + ecx + 0x5c]
xor al, 0x7a
mov byte [esp + ecx + 0x164], al
inc ecx
cmp ecx, 0x12
jl 0x419820
mov byte [esp + 0x176], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x7c7f8486
mov dword [esp + 0x14], 0x72467887
mov dword [esp + 0x18], 0x83788786
mov al, byte [esp + ecx + 0x10]
sub al, 0x13
mov byte [esp + ecx + 0x5c], al
inc ecx
cmp ecx, 0xc
jl 0x419854
mov byte [esp + 0x68], bl
mov ecx, ebx
mov dword [esp + 0x90], 0xbcb9a4a6
mov dword [esp + 0x94], 0x8ae6b0a1
mov dword [esp + 0x98], 0xa0b9bab6
mov dword [esp + 0x9c], 0xa18abbb8
mov word [esp + 0xa0], 0xadb0
mov byte [esp + 0xa2], 0xa1
mov al, byte [esp + ecx + 0x90]
xor al, 0xd5
mov byte [esp + ecx + 0x70], al
inc ecx
cmp ecx, 0x13
jl 0x4198a8
mov byte [esp + 0x83], bl
mov ecx, ebx
mov dword [esp + 0xd0], 0xf8fb0002
mov dword [esp + 0xd4], 0xeec2f403
mov dword [esp + 0xd8], 0x4fbfef2
mov dword [esp + 0xdc], 0xf1eefdfc
mov word [esp + 0xe0], 0xfefb
mov byte [esp + 0xe2], 0xf1
mov al, byte [esp + ecx + 0xd0]
add al, 0x71
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 0x13
jl 0x419902
movaps xmm1, xmmword [0x421010]
mov ecx, ebx
mov dword [esp + 0x2c], 0x22273a38
mov dword [esp + 0x30], 0x14782e3f
mov dword [esp + 0x34], 0x2a25222d
mov dword [esp + 0x38], 0x2e312227
movups xmm0, xmmword [esp + 0x2c]
mov byte [esp + 0x12b], bl
mov byte [esp + 0x160], bl
pxor xmm1, xmm0
mov dword [esp + 0x10], 0x94979c9e
movups xmmword [esp + 0x150], xmm1
mov dword [esp + 0x14], 0x8a5e909f
mov dword [esp + 0x18], 0x9e9a978e
mov byte [esp + 0x1c], 0x90
mov al, byte [esp + ecx + 0x10]
sub al, 0x2b
mov byte [esp + ecx + 0x2c], al
inc ecx
cmp ecx, 0xd
jl 0x41997d
mov byte [esp + 0x39], bl
mov ecx, ebx
mov dword [esp + 0x3c], 0x3134292b
mov dword [esp + 0x40], 0x76b3d2c
mov dword [esp + 0x44], 0x2d34373b
mov dword [esp + 0x48], 0x3a073635
mov dword [esp + 0x4c], 0x2b3d2c21
mov al, byte [esp + ecx + 0x3c]
xor al, 0x58
mov byte [esp + ecx + 0xe8], al
inc ecx
cmp ecx, 0x14
jl 0x4199bb
push 0x24
push ebx
mov edi, 0x424300
mov byte [esp + 0x104], bl
push edi
call fcn.00403960
add esp, 0xc
lea eax, [esp + 0x130]
xor ecx, ecx
mov esi, 0x779af737
mov edx, esi
inc ecx
push eax
push dword [0x424db8]
call fcn.00412cbc
call eax
mov dword [0x424300], eax
xor ecx, ecx
lea eax, [esp + 0x140]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424304], eax
xor ecx, ecx
lea eax, [esp + 0x164]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424308], eax
xor ecx, ecx
lea eax, [esp + 0x5c]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x42430c], eax
xor ecx, ecx
lea eax, [esp + 0x70]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424310], eax
xor ecx, ecx
lea eax, [esp + 0x118]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424314], eax
xor ecx, ecx
lea eax, [esp + 0x150]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424318], eax
xor ecx, ecx
lea eax, [esp + 0x2c]
mov edx, esi
push eax
push dword [0x424db8]
inc ecx
call fcn.00412cbc
call eax
mov dword [0x42431c], eax
lea eax, [esp + 0xe8]
push eax
push dword [0x424db8]
xor ecx, ecx
mov edx, esi
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424320], eax
cmp dword [0x424300], ebx
je 0x419b44
cmp dword [0x424308], ebx
je 0x419b44
cmp dword [0x42430c], ebx
je 0x419b44
cmp dword [0x424310], ebx
je 0x419b44
cmp dword [0x424318], ebx
je 0x419b44
cmp dword [0x42431c], ebx
je 0x419b44
cmp dword [0x424304], ebx
je 0x419b44
test eax, eax
je 0x419b44
cmp dword [0x424314], ebx
je 0x419b44
mov bl, 1
jmp 0x419c8c
mov dword [esp + 0x3c], 0x8da2d0d0
mov ecx, ebx
mov dword [esp + 0x40], 0x929f9b8a
mov dword [esp + 0x44], 0x8da28c9b
mov dword [esp + 0x48], 0x8a97928f
mov dword [esp + 0x4c], 0x9dd0cd9b
mov word [esp + 0x50], 0x8e8e
mov al, byte [esp + ecx + 0x3c]
xor al, 0xfe
mov byte [esp + ecx + 0xd0], al
inc ecx
cmp ecx, 0x16
jl 0x419b75
mov byte [esp + 0xe6], bl
mov ecx, ebx
mov dword [esp + 0xc], 0x736e694e
mov al, byte [esp + ecx + 0xc]
xor al, 7
mov byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 4
jl 0x419b99
mov byte [esp + 0x28], bl
mov ecx, ebx
mov dword [esp + 0xa4], 0xdedbd3b8
mov dword [esp + 0xa8], 0xe692d6d7
mov dword [esp + 0xac], 0xead792e1
mov dword [esp + 0xb0], 0xe6e4e1e2
mov dword [esp + 0xb4], 0xe0e7d892
mov dword [esp + 0xb8], 0xe1dbe6d5
mov dword [esp + 0xbc], 0xd892e5e0
mov dword [esp + 0xc0], 0x92dfe1e4
mov dword [esp + 0xc4], 0xdbdee3e5
mov dword [esp + 0xc8], 0xa0a5d7e6
mov dword [esp + 0xcc], 0x7cdeded6
mov al, byte [esp + ecx + 0xa4]
sub al, 0x72
mov byte [esp + ecx + 0x178], al
inc ecx
cmp ecx, 0x2c
jl 0x419c28
lea eax, [esp + 0x178]
mov byte [esp + 0x1a4], bl
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xd8]
push 0x59
push eax
call fcn.00412723
push 0x24
push ebx
push edi
call fcn.00403960
mov eax, dword [0x424db8]
add esp, 0x1c
test eax, eax
je 0x419c8c
xor ecx, ecx
mov edx, 0xaf12bdb1
push eax
inc ecx
call fcn.00412cbc
call eax
mov dword [0x424db8], ebx
mov al, bl
jmp 0x419dae
mov dword [esp + 0xe8], 0xcee19393
mov ecx, ebx
mov dword [esp + 0xec], 0xd1dcd8c9
mov dword [esp + 0xf0], 0xcee1cfd8
mov dword [esp + 0xf4], 0xc9d4d1cc
mov dword [esp + 0xf8], 0xde938ed8
mov word [esp + 0xfc], 0xcdcd
mov al, byte [esp + ecx + 0xe8]
xor al, 0xbd
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 0x16
jl 0x419cd6
mov byte [esp + 0x12e], bl
mov ecx, ebx
mov dword [esp + 0xc], 0xf9e4e3c4
mov al, byte [esp + ecx + 0xc]
xor al, 0x8d
mov byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 4
jl 0x419cfd
mov byte [esp + 0x28], bl
mov ecx, ebx
mov dword [esp + 0x70], 0xe0e5edca
mov dword [esp + 0x74], 0xf8ace8e9
mov dword [esp + 0x78], 0xe3e8ace3
mov dword [esp + 0x7c], 0xe3e0e2fb
mov dword [esp + 0x80], 0xfface8ed
mov dword [esp + 0x84], 0xf8e5e0fd
mov dword [esp + 0x88], 0xe8a2bfe9
mov word [esp + 0x8c], 0xe0e0
mov byte [esp + 0x8e], 0x86
mov al, byte [esp + ecx + 0x70]
xor al, 0x8c
mov byte [esp + ecx + 0x3c], al
inc ecx
cmp ecx, 0x1f
jl 0x419d66
lea eax, [esp + 0x3c]
mov byte [esp + 0x5b], bl
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x120]
push 0x37
push eax
call fcn.00412723
add esp, 0x10
mov eax, dword [0x424db4]
test eax, eax
je 0x419dac
push eax
call fcn.004056f0
pop ecx
mov dword [0x424db4], ebx
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret