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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41ba40
mov ecx, eax
and ecx, 0x42
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + edx + 2], 0
lea edx, [edx + 2]
jne 0x41ba60
sar eax, 1
xor eax, 0x21
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0x1e
test eax, eax
jns 0x41ba85
mov eax, 0xffffffff
jmp 0x41ba8e
add ecx, edx
lea eax, [ecx*2 + 0x3c]
push eax
call fcn.00408160
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x50], 0x39a13b9e
mov dword [esp + 0x54], 0x258d27a5
mov dword [esp + 0x58], 0x21ef23ba
mov dword [esp + 0x5c], 0x2dbc2fb1
mov dword [esp + 0x60], 0x29812bb0
mov dword [esp + 0x64], 0x158a17b0
mov dword [esp + 0x68], 0x11be13a3
mov dword [esp + 0x6c], 0x1dc21fd3
mov dword [esp + 0x70], 0x19dd1bc2
mov dword [esp + 0x74], 0x5c107c4
mov dword [esp + 0x78], 0x1db03de
mov dword [esp + 0x7c], 0xdc90fde
mov dword [esp + 0x80], 0x9ae0bd7
mov dword [esp + 0x84], 0xf55af79f
mov dword [esp + 0x88], 0xf1f2f35a
mov byte [esp + 0x8c], 0
mov eax, 0x7f1ad4b
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x7f1acfb]
xor ecx, eax
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0x88
mov byte [esp + eax - 0x7f1acfb], cl
inc eax
cmp eax, 0x7f1ad88
jne 0x41bb30
mov dword [esp + 4], 0x13811174
mov dword [esp + 8], 0x1f891d80
mov dword [esp + 0xc], 0x1b7b198a
mov dword [esp + 0x10], 0x76b056b
mov dword [esp + 0x14], 0x36e0164
mov dword [esp + 0x18], 0xf600d61
mov dword [esp + 0x1c], 0xb970969
mov dword [esp + 0x20], 0x37aa35a0
mov dword [esp + 0x24], 0x33a73154
mov dword [esp + 0x28], 0x3fa43dab
mov dword [esp + 0x2c], 0x3b57396d
mov dword [esp + 0x30], 0x27ba25bc
mov dword [esp + 0x34], 0x23b4214d
mov dword [esp + 0x38], 0x2f472dbf
mov dword [esp + 0x3c], 0x2bbc29bf
mov dword [esp + 0x40], 0x577d557f
mov dword [esp + 0x44], 0x5352517b
mov byte [esp + 0x4a], 0
mov word [esp + 0x48], 0
xor eax, eax
nop
nop
nop
movzx ecx, byte [esp + eax + 4]
lea esi, [eax + 0x84]
and esi, ecx
mov edi, esi
and edi, 0xfffffffd
mov ebp, esi
and ebp, 2
mov edx, esi
or edx, 0xfffffffd
inc edx
imul edx, edi
or esi, 2
imul esi, ebp
sub edx, esi
add ecx, eax
add edx, ecx
add edx, 0xd1868084
mov ecx, edx
and ecx, 0x6b
add ecx, ecx
xor edx, 0x94
sub ecx, edx
mov byte [esp + eax + 4], cl
mov edx, eax
xor edx, 0xfffffffe
mov ecx, eax
or ecx, 1
and ecx, edx
mov esi, ecx
and esi, 2
mov edx, ecx
or ecx, 2
imul ecx, esi
xor esi, 2
and edx, 0x7d
imul edx, esi
xor eax, 1
add eax, ecx
add eax, edx
cmp eax, 0x47
jb 0x41bbf0
mov edi, dword [esp + 0xac]
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x41bc91
add ecx, 2
mov eax, esi
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41bc80
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x41bcc1
lea edx, [esp + 6]
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 0x41bcb0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41bcf1
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 0x41bce0
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x41bd21
lea edx, [esp + 0x52]
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 0x41bd10
mov word [eax], 0
mov eax, dword [esp + 0xb0]
mov ebp, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + eax + 2], 0
lea eax, [eax + 2]
jne 0x41bd40
mov edx, dword [edi]
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 0x41bd60
mov esi, dword [edi + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + edx + 2], 0
lea edx, [edx + 2]
jne 0x41bd80
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41bda4
mov eax, 0xffffffff
jmp 0x41bdad
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408160
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 4], 0x13b311bf
mov dword [esp + 8], 0x6fda6dd8
mov dword [esp + 0xc], 0x6be669d5
mov dword [esp + 0x10], 0x671165d7
mov word [esp + 0x14], 0x6160
mov dword [esp + 0x16], 0
mov word [esp + 0x1a], 0
mov edi, 0x8f101bbc
mov esi, 0x70efe443
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 0x70efe448]
mov ebx, edx
xor ebx, edi
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x7d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0x54
mov byte [esp + edi + 0x70efe448], al
inc edi
dec esi
cmp edi, 0x8f101bd4
jne 0x41be00
movzx ecx, word [esp + 4]
mov ebx, dword [esp + 0x4c]
mov eax, ebx
test cx, cx
mov edi, dword [esp + 0xac]
je 0x41be81
lea edx, [esp + 6]
mov eax, ebx
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 0x41be70
mov word [eax], 0
movzx ecx, word [ebp]
test cx, cx
mov esi, dword [esp]
je 0x41beb2
add ebp, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x41bea0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x41bee1
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 0x41bed0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41bf11
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 0x41bf00
mov word [eax], 0
mov dword [esp + 4], 0x999a9baa
mov dword [esp + 8], 0
mov eax, 0x59f2281b
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x59f22817]
xor ecx, eax
mov edx, ecx
and edx, 0x78
xor ecx, 0x78
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x59f22817], cl
inc eax
cmp eax, 0x59f22823
jne 0x41bf30
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
push esi
push ebx
push dword [esp + 0xbc]
call fcn.0041c200
add esp, 0x1c
mov ecx, ebx
mov ebx, eax
jmp dword [0x44202c]