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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41bbb0
mov ecx, 0xfffffffe
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41bbc0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41bbe0
mov eax, 0xffffffff
jmp 0x41bbe9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408350
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0xc159c7a2
mov dword [esp + 0x50], 0xcdadc35d
mov dword [esp + 0x54], 0xc983cf5e
mov dword [esp + 0x58], 0xf55ccb59
mov dword [esp + 0x5c], 0xf199f768
mov dword [esp + 0x60], 0xfd6ef368
mov dword [esp + 0x64], 0xf992ffb7
mov dword [esp + 0x68], 0xe5a6fbbf
mov dword [esp + 0x6c], 0xe1bde7b6
mov dword [esp + 0x70], 0xedb9e3bc
mov dword [esp + 0x74], 0xe9b7efb2
mov dword [esp + 0x78], 0x15b1ebba
mov dword [esp + 0x7c], 0x1172174b
mov dword [esp + 0x80], 0x1d7e137b
mov dword [esp + 0x84], 0x191e1f7e
mov dword [esp + 0x88], 0
mov eax, 0xe8dc9351
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x17236cfb]
xor ecx, eax
mov edx, ecx
not edx
or edx, 0x6a
add edx, ecx
xor ecx, 0x6a
lea ecx, [ecx + edx*2]
add cl, 3
mov byte [esp + eax + 0x17236cfb], cl
inc eax
cmp eax, 0xe8dc9391
jne 0x41bc90
mov dword [esp], 0xff909e4
mov dword [esp + 4], 0x3f10df8
mov dword [esp + 8], 0x7e701f6
mov dword [esp + 0xc], 0x1bff05ff
mov dword [esp + 0x10], 0x1ffa19f4
mov dword [esp + 0x14], 0x13e81df9
mov dword [esp + 0x18], 0x17e311f1
mov dword [esp + 0x1c], 0x2bde15e8
mov dword [esp + 0x20], 0x2fd329c4
mov dword [esp + 0x24], 0x23ac2ddf
mov dword [esp + 0x28], 0x27c3211d
mov dword [esp + 0x2c], 0x3bce25ac
mov dword [esp + 0x30], 0x3fcc39dd
mov dword [esp + 0x34], 0x33cb3dcb
mov dword [esp + 0x38], 0x37c431c3
mov dword [esp + 0x3c], 0xcbf5350b
mov dword [esp + 0x40], 0xcfcec9f7
mov dword [esp + 0x44], 0
xor eax, eax
nop
nop
nop
nop
movzx edi, byte [esp + eax]
mov ecx, eax
and ecx, 0x42
mov ebp, eax
and ebp, 0x3d
mov edx, eax
xor edx, 0xf92d0342
add edx, ecx
mov ecx, edx
sub ecx, ebp
add ecx, eax
and ecx, edi
mov esi, ecx
and esi, 0xfffffffd
mov ebx, ecx
and ebx, 2
or ecx, 2
imul ecx, ebx
xor ebx, 2
imul ebx, esi
add ecx, ebx
add edx, edi
sub edx, ebp
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
add cl, 0xb6
mov byte [esp + eax], cl
inc eax
cmp eax, 0x48
jne 0x41bd50
mov esi, dword [esp + 0xa8]
mov ecx, dword [esi + 4]
movzx edx, word [ecx]
mov ebp, dword [esp + 0x48]
mov eax, ebp
test dx, dx
je 0x41bde1
add ecx, 2
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41bdd0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x41be11
lea edx, [esp + 2]
nop
nop
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 0x41be00
mov word [eax], 0
mov edx, dword [esp + 0xa4]
movzx ecx, word [edx]
test cx, cx
je 0x41be41
add edx, 2
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 0x41be30
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x41be71
lea edx, [esp + 0x4e]
nop
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 0x41be60
mov word [eax], 0
mov eax, dword [esp + 0xac]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41be90
mov edx, dword [esi]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41beb0
mov edi, dword [esi + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x41bed0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41bef4
mov eax, 0xffffffff
jmp 0x41befd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408350
add esp, 4
mov edi, eax
mov dword [esp], 0x7f1f7903
mov dword [esp + 4], 0x630e7d10
mov dword [esp + 8], 0x67f26105
mov dword [esp + 0xc], 0x6b3965f3
mov dword [esp + 0x10], 0x6968
mov byte [esp + 0x14], 0
mov eax, 0x5faa706a
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5faa706a]
xor ecx, eax
add ecx, 0x21abcded
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x5faa706a], cl
inc eax
cmp eax, 0x5faa707f
jne 0x41bf40
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x41bf91
lea edx, [esp + 2]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41bf80
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41bfc1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41bfb0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x41bff1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41bfe0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41c021
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c010
mov word [eax], 0
mov dword [esp], 0x1f1e1976
mov byte [esp + 4], 0
mov eax, 0x3a
mov ecx, 0xc5
nop
nop
nop
nop
mov esi, ecx
and esi, 0xdf
mov edx, eax
and edx, 0x20
or edx, esi
xor dl, byte [esp + eax - 0x3a]
xor dl, 0xdf
add dl, 0xde
mov byte [esp + eax - 0x3a], dl
inc eax
dec ecx
cmp eax, 0x3f
jne 0x41c040
mov eax, esp
push 0
push 1
push 0
push eax
push ebp
push edi
push dword [esp + 0xb8]
call fcn.0041c310
add esp, 0x1c
mov ebx, eax
jmp dword [0x444014]