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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov edx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 0x18], 0xc5d8daf1
mov dword [esp + 0x1c], 0x16cad5d3
mov dword [esp + 0x20], 0xdad2c4e8
mov dword [esp + 0x24], 0x3121df06
mov dword [esp + 0x28], 0x21272430
mov dword [esp + 0x2c], 0x39242c2b
mov dword [esp + 0x30], 0x20e13be5
mov dword [esp + 0x34], 0x3035392e
mov dword [esp + 0x38], 0xdadcd820
mov dword [esp + 0x3c], 0xa7de
mov byte [esp + 0x40], 0
mov edi, 0x7049e673
mov ebp, 0x8c
nop
nop
movzx esi, byte [esp + edi - 0x7049e65b]
mov eax, ebp
xor eax, edi
and eax, esi
xor eax, edi
mov esi, eax
and esi, 1
or eax, 1
add eax, esi
add al, 0xc0
mov byte [esp + edi - 0x7049e65b], al
inc edi
dec ebp
cmp edi, 0x7049e69c
jne 0x409420
mov dword [esp + 0x10], 0xd9c4c8e2
mov word [esp + 0x14], 0
mov edi, 0x4f
mov ebp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ebp
and esi, 0x11
mov eax, edi
and eax, 0x4e
or eax, esi
xor al, byte [esp + edi - 0x3f]
xor al, 0x91
add al, 0xf5
mov byte [esp + edi - 0x3f], al
inc edi
dec ebp
cmp edi, 0x55
jne 0x409470
mov dword [esp + 0x44], 0xc4e92f2d
mov dword [esp + 0x48], 0xc1cfb9c6
mov dword [esp + 0x4c], 0x361204bc
mov dword [esp + 0x50], 0x44393d43
mov dword [esp + 0x54], 0x343f4531
mov dword [esp + 0x58], 0x39e20336
mov dword [esp + 0x5c], 0xea2b4f33
mov dword [esp + 0x60], 0x3a563c20
mov dword [esp + 0x64], 0x3624f91f
mov dword [esp + 0x68], 0xed172821
mov dword [esp + 0x6c], 0x121a282a
mov dword [esp + 0x70], 0x11ca2ad2
mov dword [esp + 0x74], 0x151b1d11
mov dword [esp + 0x78], 0x261f1005
mov word [esp + 0x7c], 0xe1de
mov dword [esp + 0x7e], 0
mov byte [esp + 0x82], 0
mov edi, 0x7c64d876
mov ebp, 0x839b2789
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edi - 0x7c64d832]
mov ebx, ebp
or ebx, esi
mov eax, edi
and eax, esi
xor esi, edi
add esi, eax
lea edx, [esi + ebp]
inc edx
lea eax, [ebx + ebx]
not eax
add eax, ebx
and ebx, edx
xor eax, edx
add eax, esi
sub eax, ebx
add eax, ebp
add al, 0xb3
mov byte [esp + edi - 0x7c64d832], al
inc edi
dec ebp
cmp edi, 0x7c64d8b5
jne 0x409530
add ecx, dword [esp + 4]
mov dword [esp], 0xfe8083
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi]
mov esi, edx
and esi, 2
mov ebx, edi
xor ebx, 0x31d0f755
add ebx, esi
mov esi, ebx
and esi, eax
or ebx, eax
lea eax, [esi + esi]
not eax
add eax, esi
and eax, ebx
mov esi, eax
and esi, 0x56
xor eax, 0x56
lea eax, [eax + esi*2]
inc al
mov byte [esp + edi], al
inc edi
add edx, 2
cmp edi, 4
jne 0x409580
movzx ebx, byte [esp]
mov ebp, ecx
test bl, bl
je 0x4095dc
lea edi, [esp + 1]
mov ebp, ecx
nop
nop
nop
nop
nop
mov byte [ebp], bl
inc ebp
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x4095d0
mov byte [ebp], 0
mov eax, dword [esp + 8]
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x40960e
lea edi, [eax + 0x61]
mov eax, dword [esp + 0x9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebp], bl
inc ebp
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409600
jmp 0x409615
mov eax, dword [esp + 0x9c]
mov byte [ebp], 0
movzx ebx, byte [esp + 0x44]
test bl, bl
je 0x40963c
lea edi, [esp + 0x45]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebp], bl
inc ebp
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409630
mov byte [ebp], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 4], ecx
je 0x40965c
inc eax
nop
nop
nop
nop
mov byte [ebp], bl
inc ebp
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x409650
mov byte [ebp], 0
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x40967c
lea edi, [esp + 0x11]
nop
nop
nop
mov byte [ebp], cl
inc ebp
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409670
mov byte [ebp], 0
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x40969c
lea edi, [esp + 0x19]
nop
nop
nop
mov byte [ebp], cl
inc ebp
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409690
mov byte [ebp], 0
mov edx, dword [esp + 0xa4]
mov ecx, edx
shr ecx, 2
mov esi, dword [esp + 0xa0]
mov eax, esi
mov edi, ebp
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ebx, edx
and ebx, 0xfffffffc
add ebp, ebx
add ebx, esi
mov ecx, edx
shr ecx, 1
and ecx, 1
mov eax, ebx
mov edi, ebp
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, edx
and eax, 2
add ebp, eax
test dl, 1
je 0x4096e8
movzx eax, byte [ebx + eax]
mov byte [ebp], al
inc ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x44], 0x5b414543
mov byte [esp + 0x48], 0x50
mov dword [esp + 0x49], 0
mov word [esp + 0x4d], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x44]
lea edi, [ecx + ecx]
mov eax, edi
and eax, 0x1a
mov esi, ecx
xor esi, 0x387a806d
add esi, eax
mov ebp, esi
not ebp
mov edx, ebx
or edx, ebp
not ebx
add ebp, ebp
add ebp, esi
mov eax, 0xfe
sub eax, ebp
or eax, ebx
and eax, edx
mov dl, 0xde
sub dl, al
mov byte [esp + ecx + 0x44], dl
and edi, 2
xor ecx, 1
add ecx, edi
cmp ecx, 0xb
jb 0x409710
mov dword [esp + 0x18], 0x8e816563
mov byte [esp + 0x1c], 0x70
mov word [esp + 0x1d], 0
mov byte [esp + 0x1f], 0
xor ecx, ecx
mov eax, ecx
add al, 0x95
xor al, byte [esp + ecx + 0x18]
add al, 0x17
mov byte [esp + ecx + 0x18], al
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 8
jb 0x409770
movzx ecx, byte [esp + 0x18]
test cl, cl
mov edx, dword [esp + 0xc]
je 0x4097bd
lea edi, [esp + 0x19]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4097b0
jmp 0x4097c1
mov eax, dword [esp + 8]
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x4097db
lea edi, [eax + 0x61]
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4097d0
mov byte [edx], 0
movzx ecx, byte [esp + 0x44]
test cl, cl
je 0x4097fb
lea edi, [esp + 0x45]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4097f0
mov byte [edx], 0
sub edx, dword [esp + 4]
add dword [eax + 0x80], edx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret 0x10