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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov eax, dword [eax + 4]
xor ecx, ecx
nop
nop
nop
cmp word [eax + ecx], 0
lea ecx, [ecx + 2]
jne 0x41fb30
lea edx, [eax + ecx]
add edx, 0xfffffffe
add ecx, eax
mov esi, 1
sub esi, ecx
and esi, eax
not eax
and eax, edx
sub eax, esi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + ecx], 0
lea ecx, [ecx + 2]
jne 0x41fb60
sar eax, 1
lea edx, [ebx + ecx]
add edx, 0xfffffffe
add ecx, ebx
mov esi, 1
sub esi, ecx
and esi, ebx
mov ecx, ebx
not ecx
and ecx, edx
sub ecx, esi
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41fb98
mov eax, 0xffffffff
jmp 0x41fba1
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c8c0
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0x49c14bae
mov dword [esp + 0x50], 0x45dd47c5
mov dword [esp + 0x54], 0x41bf43ca
mov dword [esp + 0x58], 0x7dec7fd1
mov dword [esp + 0x5c], 0x79e17bf0
mov dword [esp + 0x60], 0x75fa77f0
mov dword [esp + 0x64], 0x71ee7383
mov dword [esp + 0x68], 0x6da26fb3
mov dword [esp + 0x6c], 0x69ad6ba2
mov dword [esp + 0x70], 0x65a167a4
mov dword [esp + 0x74], 0x61ab63ae
mov dword [esp + 0x78], 0x1dd91fae
mov dword [esp + 0x7c], 0x19fe1bd7
mov dword [esp + 0x80], 0x158a178f
mov dword [esp + 0x84], 0x1112138a
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x4c]
lea edx, [eax - 0x55e4926d]
mov edi, 0x55e4926c
sub edi, eax
or edi, ecx
mov ebp, 0x6c
sub ebp, eax
and ebp, ecx
xor ebp, edi
and ebp, edx
add ebp, ebp
neg ebp
lea edx, [eax + ebp]
add edx, 0xaa1b6d93
add dl, cl
add dl, 0x21
mov byte [esp + eax + 0x4c], dl
mov ecx, eax
and ecx, 0x29
xor eax, 0x55d1c4e9
lea eax, [eax + ecx*2]
add eax, 0xaa2e3b18
cmp eax, 0x3c
jb 0x41fc30
mov dword [esp + 4], 0xc15bc760
mov dword [esp + 8], 0xcd53c35c
mov dword [esp + 0xc], 0xc96dcf5e
mov dword [esp + 0x10], 0xb565cb61
mov dword [esp + 0x14], 0xb11ab710
mov dword [esp + 0x18], 0xbd1cb31f
mov dword [esp + 0x1c], 0xb921bf1f
mov dword [esp + 0x20], 0xa526bb2c
mov dword [esp + 0x24], 0xa131a700
mov dword [esp + 0x28], 0xad38a331
mov dword [esp + 0x2c], 0xa901af7b
mov dword [esp + 0x30], 0x9536ab30
mov dword [esp + 0x34], 0x9100973b
mov dword [esp + 0x38], 0x9d39930d
mov dword [esp + 0x3c], 0x99089f0d
mov dword [esp + 0x40], 0x854f9b4d
mov dword [esp + 0x44], 0x81868751
mov dword [esp + 0x48], 0
xor eax, eax
movzx edx, byte [esp + eax + 4]
mov ecx, 0x1c8401ce
sub ecx, eax
or ecx, edx
mov edi, 0xce
sub edi, eax
and edi, edx
not ecx
or ecx, edi
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0xa
mov byte [esp + eax + 4], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x48
jb 0x41fd10
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x41fd81
add ecx, 2
mov eax, esi
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 0x41fd70
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x41fdb1
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 0x41fda0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41fde1
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 0x41fdd0
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x41fe11
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 0x41fe00
mov word [eax], 0
mov eax, dword [esp + 0xa8]
mov ebx, dword [eax]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax], 0
lea eax, [eax + 2]
jne 0x41fe30
lea edx, [ebx + eax]
add edx, 0xfffffffe
add eax, ebx
mov edi, 1
sub edi, eax
and edi, ebx
mov ecx, ebx
not ecx
and ecx, edx
sub ecx, edi
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
xor edx, edx
nop
nop
cmp word [eax + edx], 0
lea edx, [edx + 2]
jne 0x41fe60
mov dword [esp], esi
lea edi, [eax + edx]
add edi, 0xfffffffe
add edx, eax
mov ebp, 1
sub ebp, edx
and ebp, eax
not eax
and eax, edi
sub eax, ebp
mov edx, dword [esp + 0xa4]
mov edx, dword [edx + 8]
xor edi, edi
cmp word [edx + edi], 0
lea edi, [edi + 2]
jne 0x41fe90
sar ecx, 1
sar eax, 1
lea ebp, [edx + edi]
add ebp, 0xfffffffe
add edi, edx
mov esi, 1
sub esi, edi
and esi, edx
not edx
and edx, ebp
sub edx, esi
sar edx, 1
add eax, ecx
lea ecx, [edx + eax]
add ecx, 0xb
test ecx, ecx
jns 0x41feca
mov eax, 0xffffffff
jmp 0x41fed3
add eax, edx
lea eax, [eax*2 + 0x16]
push eax
call fcn.0040c8c0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x6105670d
mov dword [esp + 8], 0x7d166314
mov dword [esp + 0xc], 0x79f27f03
mov dword [esp + 0x10], 0x754b7bf5
mov word [esp + 0x14], 0x7774
mov dword [esp + 0x16], 0
lea eax, [esp + 4]
mov ecx, 0x40204696
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov esi, edx
not esi
and esi, 0xc8
xor edx, 0x83b9fcc8
or edx, esi
xor edx, ecx
mov esi, edx
xor esi, 0x32
and esi, 0x72
xor edx, 0x7c4603c5
lea edx, [edx + esi*2]
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x40204680
jne 0x41ff20
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x41ff81
lea edx, [esp + 6]
mov eax, edi
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 0x41ff70
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41ffb1
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 0x41ffa0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x41ffe1
add ecx, 2
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41ffd0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx + 8]
movzx edx, word [ecx]
test dx, dx
je 0x420011
add ecx, 2
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x420000
mov word [eax], 0
mov dword [esp + 4], 0xcfcec916
mov eax, 0xb2
mov ecx, 0x4d
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xae]
mov edx, ecx
or edx, esi
mov ebx, ecx
and ebx, 0x45
mov ebp, eax
and ebp, 0xa2
or ebp, ebx
xor ebp, 0xaa
or ebp, ecx
and ebp, esi
not edx
or edx, ebp
add dl, 0x86
mov byte [esp + eax - 0xae], dl
inc eax
dec ecx
cmp eax, 0xb6
jne 0x420030
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x10]
push esi
push edi
push dword [esp + 0xb4]
call fcn.00420380
add esp, 0x1c
mov ebx, eax
jmp dword [0x44800c]