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, 0x7c
mov dword [esp + 0x3c], ecx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0xc], 0x776c6e43
mov dword [esp + 0x10], 0x2a726b61
mov dword [esp + 0x14], 0x6e7a705c
mov dword [esp + 0x18], 0x7b6f2d36
mov dword [esp + 0x1c], 0x7b717064
mov dword [esp + 0x20], 0x63787079
mov dword [esp + 0x24], 0x74376137
mov dword [esp + 0x28], 0x7c7b777e
mov dword [esp + 0x2c], 0x2e282c54
mov word [esp + 0x30], 0x252e
mov dword [esp + 0x32], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edi + 0xc]
mov esi, edi
xor esi, 0x7f
mov ebx, edi
or ebx, ebp
or ebx, 0xe3742180
not ebp
or ebp, esi
and ebp, ebx
mov esi, ebp
and esi, 0x8230007d
mov eax, ebp
and eax, 2
mov ebx, eax
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, eax
xor ebp, 0x8ebb587f
add ebx, ebp
add ebx, esi
and ebp, 1
xor ebx, 1
lea eax, [ebx + ebp*2]
mov byte [esp + edi + 0xc], al
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
cmp edi, 0x2a
jb 0x4094f0
mov dword [esp + 4], 0x57405c26
mov dword [esp + 8], 0
xor edi, edi
nop
nop
mov esi, edi
and esi, 4
mov eax, edi
and eax, 2
mov ebp, eax
xor ebp, 2
imul ebp, esi
or esi, 2
imul esi, eax
mov ebx, edi
xor ebx, 0x6e
add ebx, ebp
add ebx, esi
xor bl, byte [esp + edi + 4]
add bl, 0xda
mov byte [esp + edi + 4], bl
inc edi
cmp edi, 8
jne 0x409560
mov dword [esp + 0x40], 0x5c093735
mov dword [esp + 0x44], 0x5167595e
mov dword [esp + 0x48], 0x5e021c54
mov dword [esp + 0x4c], 0x2c295553
mov dword [esp + 0x50], 0x2c272d21
mov dword [esp + 0x54], 0x2952732e
mov dword [esp + 0x58], 0x6a2b2723
mov dword [esp + 0x5c], 0xa3e1410
mov dword [esp + 0x60], 0xe3c4967
mov dword [esp + 0x64], 0x456f0831
mov dword [esp + 0x68], 0x23a383a
mov dword [esp + 0x6c], 0x17a6a42
mov dword [esp + 0x70], 0xd3b0501
mov dword [esp + 0x74], 0x5e37003d
mov dword [esp + 0x78], 0x9176
xor ebx, ebx
mov ebp, dword [esp + 0x90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xb2
xor al, byte [esp + ebx + 0x40]
add al, 0x86
mov byte [esp + ebx + 0x40], al
inc ebx
cmp ebx, 0x3c
jne 0x409620
add ebp, edx
mov dword [esp], 0x7e5455
mov edx, 0x5667916a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x5667916a]
xor eax, edx
mov esi, eax
and esi, 0x6d
xor eax, 0xed
lea eax, [eax + esi*2]
inc al
mov byte [esp + edx - 0x5667916a], al
inc edx
cmp edx, 0x5667916e
jne 0x409650
movzx ebx, byte [esp]
mov edx, ebp
test bl, bl
je 0x40969b
lea edi, [esp + 1]
mov edx, ebp
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409690
mov byte [edx], 0
mov esi, dword [esp + 0x3c]
movzx ebx, byte [esi + 0x60]
test bl, bl
mov eax, dword [esp + 0x94]
je 0x4096cb
lea edi, [esi + 0x61]
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 0x4096c0
mov byte [edx], 0
movzx ebx, byte [esp + 0x40]
test bl, bl
je 0x4096eb
lea edi, [esp + 0x41]
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 + 0x38], ebp
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 + 4]
test cl, cl
je 0x40972b
lea edi, [esp + 5]
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 + 0xc]
test cl, cl
je 0x40974b
lea edi, [esp + 0xd]
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 + 0x9c]
mov ecx, ebx
shr ecx, 2
mov ebp, dword [esp + 0x98]
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and ebx, 0xfffffffc
add edx, ebx
add ebx, ebp
mov ecx, eax
mov ebp, eax
shr ecx, 1
and ecx, 1
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebp
mov ecx, ebp
and ecx, 2
add edx, ecx
test al, 1
je 0x409798
movzx eax, byte [ebx + ecx]
mov byte [edx], al
inc edx
mov dword [esp + 0x40], 0x91939795
mov byte [esp + 0x44], 0x9c
mov dword [esp + 0x45], 0
mov dword [esp + 0x48], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x9a
xor al, byte [esp + ecx + 0x40]
add al, 0xfe
mov byte [esp + ecx + 0x40], al
inc ecx
cmp ecx, 0xc
jne 0x4097c0
mov dword [esp + 0xc], 0xa6a78b85
mov byte [esp + 0x10], 0xac
mov dword [esp + 0x11], 0
mov byte [esp + 0x15], 0
xor ecx, ecx
mov eax, ecx
add al, 0x1c
xor al, byte [esp + ecx + 0xc]
add al, 0x74
mov byte [esp + ecx + 0xc], al
mov eax, ecx
not eax
or eax, 1
add eax, ecx
or ecx, 1
add ecx, eax
inc ecx
cmp ecx, 0xa
jb 0x4097f0
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x40982b
lea edi, [esp + 0xd]
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409820
mov byte [edx], 0
movzx ecx, byte [esi + 0x60]
test cl, cl
je 0x40984b
lea edi, [esi + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409840
mov byte [edx], 0
movzx ecx, byte [esp + 0x40]
test cl, cl
je 0x40986b
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 0x409860
mov byte [edx], 0
sub edx, dword [esp + 0x38]
add dword [esi + 0x80], edx
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10