Function at 0x409480
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, 0x80
mov dword [esp + 4], ecx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0x10], 0xaba4ba87
mov dword [esp + 0x14], 0xe6aea7b9
mov dword [esp + 0x18], 0xb2aea88c
mov dword [esp + 0x1c], 0xa7bbfd9a
mov dword [esp + 0x20], 0x8f89b8a4
mov dword [esp + 0x24], 0x9f908891
mov dword [esp + 0x28], 0x9cdb99d3
mov dword [esp + 0x2c], 0x84879b82
mov dword [esp + 0x30], 0xe2e0fc94
mov word [esp + 0x34], 0xf5e2
mov dword [esp + 0x36], 0
mov edi, 0xe
mov esi, 0xb1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, esi
and ebp, 0xd2
mov ebx, edi
and ebx, 0x2d
or ebx, ebp
xor bl, byte [esp + edi + 2]
xor bl, 0xd2
add bl, 0x7a
mov byte [esp + edi + 2], bl
inc edi
dec esi
cmp edi, 0x38
jne 0x409500
mov dword [esp], 0xe19c9086
xor eax, eax
xor ebp, ebp
nop
movzx esi, byte [esp + ebp]
mov edi, eax
and edi, 2
mov ebx, ebp
xor ebx, 0x979d97d9
add ebx, edi
xor ebx, esi
mov esi, ebx
xor esi, 0x3e
and ebx, 0x41
add ebx, ebx
sub ebx, esi
inc bl
mov byte [esp + ebp], bl
inc ebp
add eax, 2
cmp ebp, 4
jne 0x409530
mov dword [esp + 0x40], 0x6439fffd
mov dword [esp + 0x44], 0x615f6966
mov dword [esp + 0x48], 0x5632246c
mov dword [esp + 0x4c], 0x64696d63
mov dword [esp + 0x50], 0x744f6551
mov dword [esp + 0x54], 0x49022376
mov dword [esp + 0x58], 0x3a7b7f73
mov dword [esp + 0x5c], 0x4a764c40
mov dword [esp + 0x60], 0x7644092f
mov dword [esp + 0x64], 0x3d177841
mov dword [esp + 0x68], 0x724a787a
mov dword [esp + 0x6c], 0x713a1a32
mov dword [esp + 0x70], 0x556b4d71
mov dword [esp + 0x74], 0x66f5065
mov word [esp + 0x78], 0xc12e
mov dword [esp + 0x7a], 0
mov byte [esp + 0x7e], 0
xor ebx, ebx
mov ecx, dword [esp + 0x94]
nop
nop
nop
nop
mov eax, ebx
add al, 0x7e
xor al, byte [esp + ebx + 0x40]
add al, 0x8a
mov byte [esp + ebx + 0x40], al
inc ebx
cmp ebx, 0x3f
jne 0x4095f0
add ecx, edx
mov word [esp + 8], 0x282f
mov byte [esp + 0xa], 0x7a
mov dword [esp + 0xb], 0
lea edx, [esp + 8]
mov edi, 0x779ddd94
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [edx]
mov ebx, edi
or ebx, eax
lea esi, [edi - 0x779ddd00]
and esi, eax
not ebx
or ebx, esi
lea eax, [ebx + ebx]
mov esi, eax
and esi, 0xd0
xor ebx, 0xe8
add ebx, esi
and eax, 2
xor ebx, 1
add ebx, eax
mov byte [edx], bl
inc edx
dec edi
cmp edi, 0x779ddd8d
jne 0x409630
movzx ebx, byte [esp + 8]
mov edx, ecx
test bl, bl
je 0x40968b
lea edi, [esp + 9]
mov edx, ecx
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409680
mov byte [edx], 0
mov eax, dword [esp + 4]
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x4096bd
lea edi, [eax + 0x61]
mov eax, dword [esp + 0x98]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x4096b0
jmp 0x4096c4
mov eax, dword [esp + 0x98]
mov byte [edx], 0
movzx ebx, byte [esp + 0x40]
test bl, bl
je 0x4096eb
lea edi, [esp + 0x41]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x4096e0
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 0x3c], ecx
je 0x40970b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x409700
mov byte [edx], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40972b
lea edi, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409720
mov byte [edx], 0
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x40974b
lea edi, [esp + 0x11]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409740
mov byte [edx], 0
mov ebx, dword [esp + 0xa0]
mov ecx, ebx
shr ecx, 2
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ebp, ebx
and ebp, 0xfffffffc
add edx, ebp
add ebp, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 2
add edx, ecx
test bl, 1
je 0x409796
movzx eax, byte [ebp + ecx]
mov byte [edx], al
inc edx
mov dword [esp + 0x40], 0x39273b25
mov byte [esp + 0x44], 0x3c
mov dword [esp + 0x45], 0
mov word [esp + 0x49], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x74
xor al, byte [esp + ecx + 0x40]
add al, 0xbc
mov byte [esp + ecx + 0x40], al
inc ecx
cmp ecx, 0xb
jne 0x4097c0
mov dword [esp + 0x10], 0x2032f2d
mov byte [esp + 0x14], 0x34
mov dword [esp + 0x15], 0
mov byte [esp + 0x19], 0
xor ecx, ecx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edi + 0x10]
mov eax, ecx
and eax, 0x12
mov ebx, edi
xor ebx, 0x938b2069
add ebx, eax
mov eax, ebp
not eax
mov esi, 0xf2
sub esi, ebx
or esi, eax
lea eax, [esi + ebx]
add eax, 0x394f550e
add ebx, esi
add esi, ebp
inc esi
mov ebp, esi
not ebp
and ebp, eax
xor eax, esi
add eax, ebx
add eax, 0x394f550e
sub eax, ebp
lea esi, [eax + eax]
and esi, 0xff776962
xor eax, 0xffbbb4b1
mov ebx, esi
and ebx, eax
xor eax, esi
lea eax, [eax + ebx*2]
inc al
mov byte [esp + edi + 0x10], al
inc edi
add ecx, 2
cmp edi, 0xa
jne 0x409800
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x40988d
lea edi, [esp + 0x11]
mov eax, dword [esp + 4]
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 0x409880
jmp 0x409891
mov eax, dword [esp + 4]
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x4098ab
lea edi, [eax + 0x61]
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4098a0
mov byte [edx], 0
movzx ecx, byte [esp + 0x40]
test cl, cl
je 0x4098cb
lea edi, [esp + 0x41]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4098c0
mov byte [edx], 0
sub edx, dword [esp + 0x3c]
add dword [eax + 0x80], edx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret 0x10