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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov edi, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4242d0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4242e0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x424300
mov eax, 0xffffffff
jmp 0x424309
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408c10
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x54], 0x2397218e
mov dword [esp + 0x58], 0x27832597
mov dword [esp + 0x5c], 0x3bf9398a
mov dword [esp + 0x60], 0x3f803d83
mov dword [esp + 0x64], 0x33973184
mov dword [esp + 0x68], 0x378235bc
mov dword [esp + 0x6c], 0xbae09d1
mov dword [esp + 0x70], 0xffa0dc1
mov dword [esp + 0x74], 0x3cb01f2
mov dword [esp + 0x78], 0x7cf05f0
mov dword [esp + 0x7c], 0x1bed19ee
mov dword [esp + 0x80], 0x1fd71dee
mov dword [esp + 0x84], 0x13be11e5
mov dword [esp + 0x88], 0x17b215ad
mov dword [esp + 0x8c], 0xebeae94a
mov word [esp + 0x90], 0
mov byte [esp + 0x92], 0
xor eax, eax
nop
nop
nop
movzx edx, byte [esp + eax + 0x54]
lea ecx, [eax - 0x2b765338]
xor ecx, edx
add ecx, 0xec75d211
mov edx, ecx
xor edx, 0xf9
and ecx, 6
add ecx, ecx
sub ecx, edx
mov byte [esp + eax + 0x54], cl
lea ecx, [eax + eax]
and ecx, 2
mov edx, ecx
and edx, eax
or ecx, eax
xor ecx, 1
add ecx, edx
mov eax, ecx
cmp ecx, 0x3f
jb 0x4243b0
mov dword [esp + 4], 0x3fa93984
mov dword [esp + 8], 0x23b13da8
mov dword [esp + 0xc], 0x278721b6
mov dword [esp + 0x10], 0x2b8f258f
mov dword [esp + 0x14], 0x2f8a2994
mov dword [esp + 0x18], 0x13b82d89
mov dword [esp + 0x1c], 0x178311b1
mov dword [esp + 0x20], 0x1b8e15b8
mov dword [esp + 0x24], 0x1fb319a4
mov dword [esp + 0x28], 0x39c1d8f
mov dword [esp + 0x2c], 0x7a301ed
mov dword [esp + 0x30], 0xb9e059c
mov dword [esp + 0x34], 0xf9c09ad
mov dword [esp + 0x38], 0xf35b0d9b
mov dword [esp + 0x3c], 0xf764f163
mov dword [esp + 0x40], 0xfb15f51b
mov dword [esp + 0x44], 0xfffef917
mov word [esp + 0x48], 0
mov eax, 0x6c24403b
mov ecx, 0xd8488076
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x6c244037]
mov ebp, ecx
and ebp, 0x18008194
mov edx, eax
xor edx, 0xf2ff9635
sub edx, ebp
add edx, 0x6c24403b
xor edx, esi
inc edx
mov esi, edx
and esi, 0x73
add esi, esi
xor edx, 0xc
sub edx, esi
add dl, 2
mov byte [esp + eax - 0x6c244037], dl
inc eax
add ecx, 2
cmp eax, 0x6c244081
jne 0x424490
mov ebp, dword [esp + 0xb0]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x424501
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4244f0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x424531
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 0x424520
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424561
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 0x424550
mov word [eax], 0
movzx ecx, word [esp + 0x54]
test cx, cx
je 0x424591
lea edx, [esp + 0x56]
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 0x424580
mov word [eax], 0
mov ecx, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4245a0
mov dword [esp + 0x4c], ecx
sar eax, 1
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4245c0
add eax, 0xa
sar ecx, 1
mov edx, ecx
and edx, eax
add edx, edx
mov ebx, dword [ebp + 8]
mov edi, 0xfffffffe
nop
nop
cmp word [ebx + edi + 2], 0
lea edi, [edi + 2]
jne 0x4245e0
xor ecx, eax
sar edi, 1
add ecx, edx
lea eax, [edi + ecx]
inc eax
test eax, eax
jns 0x424600
mov eax, 0xffffffff
jmp 0x424609
add ecx, edi
lea eax, [ecx*2 + 2]
push eax
call fcn.00408c10
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 4], 0x13f311ef
mov dword [esp + 8], 0x1f8a1d88
mov dword [esp + 0xc], 0x1b8619f5
mov dword [esp + 0x10], 0x7d10597
mov word [esp + 0x14], 0x100
mov dword [esp + 0x16], 0
xor ebp, ebp
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edi + 4]
mov ecx, edi
xor ecx, 0x8f32b6bc
mov eax, ebp
and eax, 6
sub eax, ecx
mov edx, ebx
and edx, eax
mov ecx, edx
and ecx, 2
mov esi, edx
or edx, 2
imul edx, ecx
xor ecx, 2
and esi, 0x7d
imul esi, ecx
add edx, esi
mov ecx, edx
xor ecx, eax
not eax
and eax, edx
add eax, eax
sub ecx, eax
add cl, bl
add cl, 0xac
mov byte [esp + edi + 4], cl
inc edi
add ebp, 2
cmp edi, 0x16
jne 0x424650
movzx ecx, word [esp + 4]
mov ebp, dword [esp + 0x50]
mov eax, ebp
test cx, cx
mov esi, dword [esp + 0xb0]
je 0x4246d1
lea edx, [esp + 6]
mov eax, ebp
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4246c0
mov word [eax], 0
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
test cx, cx
je 0x424701
add edx, 2
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 0x4246f0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x424731
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 0x424720
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x424761
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 0x424750
mov word [eax], 0
mov dword [esp + 4], 0x979699ce
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
xor eax, eax
xor ecx, ecx
nop
nop
movzx esi, byte [esp + ecx + 4]
mov edi, eax
and edi, 0xc
mov edx, ecx
xor edx, 0x564f42a6
add edx, edi
xor edx, esi
mov esi, edx
not esi
and edx, 0xc1
and esi, 0x3e
sub edx, esi
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 7
jne 0x424780
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x10]
push esi
push ebp
push dword [esp + 0xc0]
call fcn.00424aa0
add esp, 0x1c
mov ebx, eax
jmp dword [0x44724c]