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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [esp + 0x3c]
movzx ebp, word [eax]
mov dword [esp + 4], 0x9392fbc5
mov byte [esp + 8], 0
mov ecx, 0x9c
mov edx, 0x63
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x98]
mov edi, edx
or edi, esi
lea ebx, [esi + esi]
not ebx
add ebx, esi
or ebx, ecx
and ebx, edi
mov al, 0xf3
sub al, bl
mov byte [esp + ecx - 0x98], al
inc ecx
dec edx
cmp ecx, 0xa1
jne case.default.0x44127b
xor ecx, ecx
cmp dword [esp + 4], ebp
setne cl
xor eax, eax
mov edi, dword [esp + 0x3c]
jmp dword [ecx*4 + 0x44e01c]
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + ecx]
mov dword [esp + 4], 0x57568498
mov word [esp + 8], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xe
xor al, byte [esp + ebx + 4]
add al, 0xba
mov byte [esp + ebx + 4], al
inc ebx
cmp ebx, 6
jne case.default.0x4412bf
xor ebx, ebx
cmp edx, dword [esp + 4]
setne bl
xor eax, eax
jmp dword [ebx*4 + 0x44e024]
mov ebx, dword [edi + ecx + 0x78]
cmp dword [edi + ecx + 0x7c], 0
sete al
test ebx, ebx
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x44e02c]
mov eax, dword [edi + ebx + 0x20]
add eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [edi + ebx + 0x24]
add eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [edi + ebx + 0x1c]
add eax, edi
mov dword [esp + 0x1c], eax
mov ecx, dword [0x44fa14]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x18], ebx
jmp dword [eax*4 + 0x44e034]
mov dword [esp], ecx
mov esi, dword [0x44fa10]
mov eax, dword [edi + ebx + 0x18]
add eax, esi
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x44133b
shl eax, 3
mov ecx, eax
push ecx
call fcn.0040c4e0
add esp, 4
mov ebx, eax
mov ecx, esi
and ecx, 0xfffffff7
mov eax, esi
and eax, 8
or esi, 8
imul esi, eax
xor eax, 8
imul eax, ecx
lea ebp, [eax + esi]
mov ecx, dword [esp]
lea edx, [ecx + ebp]
cmp ebx, ecx
jbe 0x441468
cmp edx, ebx
jbe 0x441468
mov dword [esp + 0xc], ebx
test ebp, ebp
mov ebp, dword [esp]
je 0x4413dd
lea ecx, [eax + ebp]
dec ecx
mov edx, dword [esp + 0xc]
add edx, eax
dec edx
neg eax
nop
nop
nop
movzx ebx, byte [ecx + esi]
mov byte [edx + esi], bl
movzx ebx, byte [ecx + esi - 1]
mov byte [edx + esi - 1], bl
movzx ebx, byte [ecx + esi - 2]
mov byte [edx + esi - 2], bl
movzx ebx, byte [ecx + esi - 3]
mov byte [edx + esi - 3], bl
movzx ebx, byte [ecx + esi - 4]
mov byte [edx + esi - 4], bl
movzx ebx, byte [ecx + esi - 5]
mov byte [edx + esi - 5], bl
movzx ebx, byte [ecx + esi - 6]
mov byte [edx + esi - 6], bl
movzx ebx, byte [ecx + esi - 7]
mov byte [edx + esi - 7], bl
add esi, 0xfffffff8
cmp eax, esi
jne 0x441390
xor eax, eax
test ebp, ebp
sete al
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
jmp dword [eax*4 + 0x44e03c]
mov dword [0x44fa14], ebx
xor edx, edx
lea eax, [esp + 8]
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esp + 0x10], 0
cmp edx, dword [edi + esi + 0x18]
setb cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44e044]
mov eax, dword [edi + ebx + 0x18]
mov ecx, 0xffffffff
cmp eax, 0x20000000
jae 0x441436
shl eax, 3
mov ecx, eax
push ecx
call fcn.0040c4e0
add esp, 4
mov dword [0x44fa14], eax
xor edx, edx
lea eax, [esp + 8]
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esp + 0x10], 0
cmp edx, dword [edi + ebx + 0x18]
setb cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44e044]
mov ecx, ebp
shr ecx, 2
mov edi, ebx
mov eax, dword [esp]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, ebx
add edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ebp, dword [0x44fa14]
xor eax, eax
test ebp, ebp
sete al
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
jmp dword [eax*4 + 0x44e03c]
push ebp
call fcn.0040c4f0
add esp, 4
mov dword [0x44fa14], ebx
xor edx, edx
lea eax, [esp + 8]
mov dword [esp + 0x14], eax
xor ecx, ecx
mov dword [esp + 0x10], 0
cmp edx, dword [edi + esi + 0x18]
setb cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44e044]
mov eax, dword [esp + 0x10]
and al, 1
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
inc ebx
xor ecx, ecx
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
cmp ebx, dword [edi + eax + 0x18]
setb cl
jmp dword [ecx*4 + 0x44e044]
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], ebx
mov eax, dword [eax + ebx*4]
add eax, edi
mov ecx, 0xffffffff
xor edi, edi
nop
nop
nop
mov esi, edi
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
lea edi, [edi + 1]
jne 0x441510
mov dword [esp], eax
mov dword [esp + 4], 0x524e4cd9
mov eax, dword [esp + 0x14]
mov byte [eax + 2], 0
mov word [eax], 0
mov edi, 0xc024c80d
nop
nop
nop
nop
movzx ebx, byte [esp + edi + 0x3fdb37f7]
xor ebx, edi
mov ebp, ebx
and ebp, 0x3e
xor ebx, 0xbe
lea ebx, [ebx + ebp*2]
inc bl
mov byte [esp + edi + 0x3fdb37f7], bl
inc edi
cmp edi, 0xc024c814
jne 0x441540
mov eax, 0xfb520141
test ecx, ecx
je 0x4415ce
mov ebp, dword [esp + 4]
mov ebx, dword [esp]
cmp ecx, 1
je 0x4415b9
and esi, 0xfffffffe
mov ebx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movsx edx, byte [ebx]
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
imul eax, ebp
movsx edx, byte [ebx + 1]
add ebx, 2
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
sub eax, edi
imul eax, ebp
add esi, 0xfffffffe
jne 0x441590
test cl, 1
je 0x4415ce
movsx ecx, byte [ebx]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
imul eax, ebp
mov ecx, eax
xor ecx, 0xaa8a99d1
xor edx, edx
or ecx, dword [0x44fa18]
sete dl
mov ebx, dword [esp + 0xc]
jmp dword [edx*4 + 0x44e04c]
xor ecx, ecx
mov edi, dword [esp]
cmp byte [edi], 0x4e
setne cl
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp dword [ecx*4 + 0x44e064]
xor ecx, ecx
cmp byte [edi + 1], 0x74
setne cl
jmp dword [ecx*4 + 0x44e06c]
movzx ecx, word [edx + ebx*2]
mov ecx, dword [esi + ecx*4]
add ecx, dword [esp + 0x3c]
xor esi, esi
xor edx, edx
cmp esi, 0x20
setb dl
mov ebp, 0xffffffff
jmp dword [edx*4 + 0x44e074]
movzx edx, byte [ecx + esi]
xor ebx, ebx
cmp dl, 0xc2
sete bl
jmp dword [ebx*4 + 0x44e07c]
xor ebx, ebx
cmp dl, 0xc3
sete bl
jmp dword [ebx*4 + 0x44e084]
xor ebx, ebx
cmp dl, 0xb8
sete bl
jmp dword [ebx*4 + 0x44e08c]
inc esi
xor edx, edx
cmp esi, 0x20
setb dl
jmp dword [edx*4 + 0x44e074]
xor ecx, ecx
cmp ebp, 0xffffffff
setne cl
mov ebx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x44e094]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
jmp dword [0x44e054]
movzx eax, word [ecx + ebx*2]
mov eax, dword [edx + eax*4]
mov dword [0x44fa18], eax
nop
nop
nop
nop
nop
nop
movzx eax, word [ecx + ebx*2]
mov eax, dword [edx + eax*4]
mov dword [0x44fa18], eax
jmp dword [0x44e060]
mov ebp, dword [ecx + esi + 1]
xor ecx, ecx
cmp ebp, 0xffffffff
setne cl
mov ebx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x44e094]
mov esi, ebx
mov ecx, dword [case.0x441498.27]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
xor edx, edx
mov dword [esp], 0
cmp ecx, dword [0x44fa10]
setb dl
xor ecx, ecx
jmp dword [edx*4 + 0x44e0ac]
mov dword [edx + ecx*8 + 4], ebp
xor edx, edx
mov bl, 1
mov dword [esp], ebx
jmp dword [edx*4 + 0x44e0bc]
inc ecx
xor edx, edx
cmp ecx, dword [0x44fa10]
setb dl
jmp dword [edx*4 + 0x44e0ac]
mov edx, dword [0x44fa14]
xor ebx, ebx
cmp dword [edx + ecx*8], eax
sete bl
jmp dword [ebx*4 + 0x44e0b4]
mov edx, 1
jmp dword [edx*4 + 0x44e0bc]
mov ecx, dword [esp]
and cl, 1
movzx ecx, cl
mov ebx, esi
jmp dword [ecx*4 + 0x44e0c4]
mov ecx, dword [0x44fa14]
mov edx, dword [0x44fa10]
lea esi, [edx + 1]
mov dword [0x44fa10], esi
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov al, 1
mov dword [esp + 0x10], eax
jmp dword [0x44e0d8]