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

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x20], edx
push edi
mov dword [esp + 0x20], esi
xor ecx, ecx
mov dword [esp + 0x14], 0x92a9a25b
mov edx, 0xff
mov byte [esp + 0x18], 0x60
movzx eax, byte [esp + ecx + 0x14]
sub ax, 0x36
and ax, dx
mov word [esp + ecx*2 + 0x4c], ax
inc ecx
cmp ecx, 5
jl 0x418b95
xor eax, eax
mov word [esp + 0x56], ax
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.0041b96a
mov ebx, eax
mov dword [esp + 0x1c], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x418dd9
lea eax, [esp + 0x88]
xor ecx, ecx
push eax
push ebx
mov edx, 0x54e1cc7b
inc ecx
call fcn.00412cbc
call eax
xor ecx, ecx
mov edx, 0x17299c7b
inc ecx
mov ebp, eax
call fcn.00412cbc
mov dword [esp + 0x40], eax
cmp ebp, 0xffffffff
je 0x418dd2
mov ebx, dword [esp + 0x24]
mov word [esp + 0x1c], 0x6565
mov dword [esp + 0x28], 0x8da2bdf4
mov word [esp + 0x2c], 0xbdf4
mov byte [esp + 0x2e], 0xa2
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, 0x4b
movzx eax, al
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 2
jl 0x418c32
xor eax, eax
xor ecx, ecx
mov word [esp + 0x48], ax
mov al, byte [esp + ecx + 0x28]
xor al, 0xd1
movzx eax, al
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 7
jl 0x418c4f
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 0x418da9
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x418da9
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x5c]
push esi
push eax
call fcn.0041b96a
mov edi, eax
add esp, 0xc
test edi, edi
je 0x418da9
test byte [esp + 0x88], 0x10
je 0x418d2c
mov dword [esp + 0x30], 0x60a49d56
xor ecx, ecx
mov word [esp + 0x34], 0x9d56
mov edx, 0xff
mov byte [esp + 0x36], 0xa4
movzx eax, byte [esp + ecx + 0x30]
sub ax, 0x31
and ax, dx
mov word [esp + ecx*2 + 0x68], ax
inc ecx
cmp ecx, 7
jl 0x418ce7
xor eax, eax
mov word [esp + 0x76], ax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.0041b96a
mov esi, eax
add esp, 0xc
test esi, esi
je 0x418d9e
mov edx, esi
mov ecx, edi
call fcn.00418b6d
jmp 0x418d97
test byte [esp + 0x88], 0xa7
je 0x418da2
mov dword [esp + 0x38], 0x1a5e5710
xor ecx, ecx
mov word [esp + 0x3c], 0x5710
mov edx, 0xff
mov byte [esp + 0x3e], 0x5e
movzx eax, byte [esp + ecx + 0x38]
add ax, 0x15
and ax, dx
mov word [esp + ecx*2 + 0x78], ax
inc ecx
cmp ecx, 7
jl 0x418d51
xor eax, eax
mov word [esp + 0x86], ax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.0041b96a
mov esi, eax
add esp, 0xc
test esi, esi
je 0x418d9e
mov edx, esi
mov ecx, edi
call fcn.00418b32
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 dword [esp + 0x48]
test eax, eax
jne 0x418c21
xor ecx, ecx
mov edx, 0x83fbc401
push ebp
inc ecx
call fcn.00412cbc
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