Function at 0x403120
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x200
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0xc], 0x5e47f89e
push edi
mov dword [esp + 0x14], 0xdf96422c
mov ecx, 0xff
mov dword [esp + 0x18], 0x73114d4e
mov dword [esp + 0x1c], 0xafdd9965
mov dword [esp + 0x20], 0xe927f5c5
mov dword [esp + 0x24], 0x984e36d8
mov dword [esp + 0x28], 0x453f0121
mov dword [esp + 0x2c], 0x8e84d9c
mov dword [esp + 0x30], 0x16ed7656
mov dword [esp + 0x34], 0x17158a28
mov dword [esp + 0x38], 0xe870b116
mov dword [esp + 0x3c], 0x32142896
mov dword [esp + 0x40], 0x86f3ce90
mov dword [esp + 0x44], 0x3f9b6105
mov dword [esp + 0x48], 0x2b693dc
mov dword [esp + 0x4c], 0xa1f9553a
mov dword [esp + 0x50], 0xe0ff40d3
mov dword [esp + 0x54], 0x241cf5e4
mov dword [esp + 0x58], 0xf1335277
mov dword [esp + 0x5c], 0x820aaf60
mov dword [esp + 0x60], 0x9f74487a
mov dword [esp + 0x64], 0x53a20f8c
mov dword [esp + 0x68], 0xae486801
mov dword [esp + 0x6c], 0x12ea33a
mov dword [esp + 0x70], 0xa4c44521
mov dword [esp + 0x74], 0x5e65407b
mov dword [esp + 0x78], 0x92567e9
mov dword [esp + 0x7c], 0x6bea635a
mov dword [esp + 0x80], 0x7845bdbd
mov dword [esp + 0x84], 0x7dc9df42
mov dword [esp + 0x88], 0x5c27c830
mov dword [esp + 0x8c], 0x41b2f40d
mov dword [esp + 0x90], 0x5d35198a
mov dword [esp + 0x94], 0x116c6d57
mov dword [esp + 0x98], 0x4b9ed110
mov dword [esp + 0x9c], 0xda540e6
mov dword [esp + 0xa0], 0x61e6dab1
mov dword [esp + 0xa4], 0xf75e3d59
mov dword [esp + 0xa8], 0x872d7842
mov dword [esp + 0xac], 0x8cc92ef9
mov dword [esp + 0xb0], 0xf18a8da7
mov dword [esp + 0xb4], 0xde0a2eae
mov dword [esp + 0xb8], 0x8594126d
mov dword [esp + 0xbc], 0x2d196c69
mov dword [esp + 0xc0], 0xfb3baf28
mov dword [esp + 0xc4], 0x3c725af6
mov dword [esp + 0xc8], 0xb428777
mov dword [esp + 0xcc], 0xaf288d89
mov dword [esp + 0xd0], 0x66d04689
mov dword [esp + 0xd4], 0x2bd56534
mov dword [esp + 0xd8], 0xd6f0ff17
mov dword [esp + 0xdc], 0x6b712b13
mov dword [esp + 0xe0], 0x484987ec
mov dword [esp + 0xe4], 0xc5bbd14b
mov dword [esp + 0xe8], 0xf5753fdf
mov dword [esp + 0xec], 0x70bf91e7
mov dword [esp + 0xf0], 0x237b07a5
mov dword [esp + 0xf4], 0xdc993319
mov dword [esp + 0xf8], 0x8e3fffba
mov dword [esp + 0xfc], 0x98c40c8d
mov dword [esp + 0x100], 0xbb89aa23
mov dword [esp + 0x104], 0xad06719b
mov dword [esp + 0x108], 0xff67bba1
mov dword [esp + 0x10c], 0x3f4c3e27
lea ecx, [ecx]
mov al, byte [esp + ecx + 0xf]
xor byte [esp + ecx + 0x10], al
sub ecx, 1
jne 0x4033a0
mov al, byte [esp + 0x10f]
xor byte [esp + 0x10], al
lea eax, [esp + 0x110]
push 0x100
push ecx
push eax
call fcn.00404400
add esp, 0xc
xor esi, esi
xor eax, eax
mov byte [esp + eax + 0x110], al
inc eax
cmp eax, 0x100
jb 0x4033d2
xor ebx, ebx
mov dl, byte [esp + ebx + 0x110]
movzx eax, bl
movzx ecx, dl
movzx eax, byte [esp + eax + 0x10]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x110]
mov byte [esp + ebx + 0x110], al
inc ebx
mov byte [esp + esi + 0x110], dl
cmp ebx, 0x100
jb 0x4033e3
xor edi, edi
xor ebx, ebx
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x110]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
movzx eax, byte [esp + ebx + 0x110]
mov byte [esp + edi + 0x110], al
mov byte [esp + ebx + 0x110], cl
movzx eax, byte [esp + edi + 0x110]
add eax, edx
movzx eax, al
movzx eax, byte [esp + eax + 0x110]
xor byte [esi + section..data], al
inc esi
cmp esi, 0x347e00
jb 0x403420
pop edi
pop esi
mov dword [ebp], section..data
pop ebp
pop ebx
add esp, 0x200
ret