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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov dword [esp + 8], 0xc30ec125
mov dword [esp + 0xc], 0xc765c56b
mov dword [esp + 0x10], 0xcb66c969
mov dword [esp + 0x14], 0xcf7ecd0d
mov dword [esp + 0x18], 0xd316d160
mov dword [esp + 0x1c], 0xd762d575
mov dword [esp + 0x20], 0xdb3fd979
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0xdddc
mov dword [esp + 0x2a], 0
mov dword [esp + 0x26], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x25
ja 0x41c727
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add ecx, 0xa0
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0xc9dba9a0
mov dword [esp + 0xc0], esi
mov ecx, dword [esp + 0xc0]
add cl, 0xa0
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x26
jb 0x41c6d0
lea esi, [esp + 0x8c]
lea edx, [esp + 8]
mov ecx, 7
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x64]
push edi
push 0
push 0
push 0xe
push esi
push 0
call dword [0x441d68]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jns 0x41c773
mov eax, 0xffffffff
jmp 0x41c776
lea eax, [ebx + ebx]
push eax
call fcn.00408f60
add esp, 4
push edi
push ebx
mov ebx, eax
push eax
push 0xe
push esi
push 0
call dword [0x441d68]
mov dword [esp + 8], 0xb342b15c
mov dword [esp + 0xc], 0xb755b555
mov dword [esp + 0x10], 0xab4ba933
mov dword [esp + 0x14], 0xaf4bad4b
mov dword [esp + 0x18], 0xa3a2a133
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
cmp ecx, 0x18
ja 0x41c833
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + 0x68]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0xaeff5c67
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc0]
mov edx, ecx
or edx, 0x27
and ecx, 0x27
add ecx, edx
inc cl
mov edx, dword [esp + 0x68]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
cmp ecx, 0x19
jb 0x41c7e0
lea edi, [esp + 0xac]
lea edx, [esp + 8]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc0]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x64]
mov ecx, 1
sub ecx, eax
and ecx, 1
and eax, 0xfffffffe
sub eax, ecx
mov ecx, eax
add ecx, 0xa
jns 0x41c878
mov eax, 0xffffffff
jmp 0x41c87d
add eax, eax
add eax, 0x14
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41c8b1
lea edx, [ebx + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c8a0
mov word [eax], 0
movzx ecx, word [esp + 0xac]
test cx, cx
je 0x41c8e1
lea edx, [esp + 0xae]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c8d0
mov edi, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x88]
push eax
push esi
call fcn.00436a70
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 0x60], ebx
jmp dword [eax*4 + 0x43d974]