Function at 0x4246c0
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 ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4246e0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4246f0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x424710
mov eax, 0xffffffff
jmp 0x424719
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040ccd0
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x4c], 0x91099f32
mov dword [esp + 0x50], 0x95359305
mov dword [esp + 0x54], 0x89539706
mov dword [esp + 0x58], 0x8d148b19
mov dword [esp + 0x5c], 0x81298f18
mov dword [esp + 0x60], 0x85168308
mov dword [esp + 0x64], 0x7922873f
mov dword [esp + 0x68], 0x7dae7bb7
mov dword [esp + 0x6c], 0x71b57fae
mov dword [esp + 0x70], 0x75b973a4
mov dword [esp + 0x74], 0x69bf77a2
mov dword [esp + 0x78], 0x6da16bba
mov dword [esp + 0x7c], 0x61c26fbb
mov dword [esp + 0x80], 0x65c663fb
mov dword [esp + 0x84], 0x596667c6
mov eax, 0xe91035e5
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x16efca67]
xor ecx, eax
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0x86
mov byte [esp + eax + 0x16efca67], cl
inc eax
cmp eax, 0xe9103621
jne 0x4247b0
mov dword [esp + 4], 0xe16be700
mov dword [esp + 8], 0xfd13e36c
mov dword [esp + 0xc], 0xf91dff0e
mov dword [esp + 0x10], 0xf505fb01
mov dword [esp + 0x14], 0xf10af710
mov dword [esp + 0x18], 0x8d0cf30f
mov dword [esp + 0x1c], 0x89018f6f
mov dword [esp + 0x20], 0x85068b7c
mov dword [esp + 0x24], 0x81718760
mov dword [esp + 0x28], 0x9d088371
mov dword [esp + 0x2c], 0x99619fab
mov dword [esp + 0x30], 0x95169b10
mov dword [esp + 0x34], 0x9160976b
mov dword [esp + 0x38], 0xad69931d
mov dword [esp + 0x3c], 0xa958af5d
mov dword [esp + 0x40], 0xa59fab9d
mov dword [esp + 0x44], 0xa1a6a791
mov byte [esp + 0x48], 0
mov esi, 0xcf4795a9
mov ebp, 0x56
nop
nop
movzx edi, byte [esp + esi + 0x30b86a5b]
lea edx, [edi + edi]
not edx
add edx, edi
and edx, esi
mov ecx, ebp
and ecx, 0x5a
mov eax, esi
and eax, 0xa5
or eax, ecx
xor eax, 0xa5
mov ecx, edi
not ecx
or ecx, eax
lea eax, [edi + ecx]
inc eax
or eax, edx
add al, 0xb3
mov byte [esp + esi + 0x30b86a5b], al
inc esi
dec ebp
cmp esi, 0xcf4795ee
jne 0x424870
mov edi, dword [esp + 0xa4]
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x4248e1
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 0x4248d0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x424911
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 0x424900
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424941
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 0x424930
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x424971
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 0x424960
mov word [eax], 0
mov eax, dword [esp + 0xa8]
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 0x424990
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 0x4249b0
mov edi, dword [edi + 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 0x4249d0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x4249f4
mov eax, 0xffffffff
jmp 0x4249fd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040ccd0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x71ad0fb5
mov dword [esp + 8], 0x75de73dc
mov dword [esp + 0xc], 0x79e277d3
mov dword [esp + 0x10], 0x7d2b7bed
mov word [esp + 0x14], 0x7f7c
mov dword [esp + 0x16], 0
mov word [esp + 0x1a], 0
xor eax, eax
movzx ecx, byte [esp + eax + 4]
mov edx, eax
xor edx, 0xb2431fc2
mov esi, eax
or esi, 0x1d
and esi, edx
mov edx, eax
xor edx, 0x4dbce03d
mov ebp, eax
and ebp, 0xfffffffd
add ebp, edx
add ebp, esi
xor ebp, ecx
mov ecx, ebp
and ecx, 1
xor ebp, 1
lea ecx, [ecx*2]
add ecx, ebp
add cl, 0xce
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0x18
jne 0x424a40
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x424ab1
lea edx, [esp + 6]
mov eax, edi
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 0x424aa0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 0xa4]
je 0x424ae1
add ebx, 2
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 0x424ad0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x424b11
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 0x424b00
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x424b41
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 0x424b30
mov word [eax], 0
mov dword [esp + 4], 0x7776095e
mov eax, 0x3e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x3a]
mov ecx, eax
and ecx, edx
mov esi, ecx
and esi, 2
mov ebx, ecx
or ecx, 2
imul ecx, esi
xor esi, 2
and ebx, 0x7d
imul ebx, esi
add ecx, ebx
add edx, eax
add edx, 0xfbf24b00
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
add ecx, 0x144487c9
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax - 0x3a], cl
inc eax
cmp eax, 0x42
jne 0x424b60
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.00424f00
add esp, 0x1c
mov ebx, eax
jmp dword [0x44adfc]