Function at 0x42ef3e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bfe7f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xf0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x68], 0xc0b
mov dword [ebp - 0x9c], 0xab7b10
cmp dword [ebp - 0x68], 0xf6e
jle 0x42eff2
and dword [ebp - 0x50], 0
jmp 0x42ef8a
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x7fd2
jge 0x42eff2
and dword [ebp - 0x40], 0
jmp 0x42efa0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x5f22
jge 0x42eff0
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x40]
cdq
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
push dword [ebp - 0x94]
push dword [ebp - 0x98]
lea ecx, [ebp - 0xe8]
call fcn.0040567b
pop ecx
pop ecx
mov ecx, eax
call fcn.0040310d
push eax
call fcn.004937e8
pop ecx
lea ecx, [ebp - 0xe8]
call fcn.00402efa
jmp 0x42ef99
jmp 0x42ef83
cmp dword [ebp + 8], 0
jne 0x42f000
mov eax, dword [ebp + 8]
jmp 0x42fa64
and dword [ebp - 4], 0
cmp dword [ebp - 0x68], 0xb1e
jge 0x42f019
push dword [ebp - 0x9c]
call fcn.004937e8
pop ecx
jmp 0x42f035
or dword [ebp - 4], 0xffffffff
jmp 0x42f03f
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp + 0xc], 0
jne 0x42f4b5
mov eax, dword [ebp + 0x10]
shr eax, 2
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], 0x31bf
mov dword [ebp - 0xb4], 0xab7b80
cmp dword [ebp - 0x64], 0x338c
jle 0x42f0e8
and dword [ebp - 0x30], 0
jmp 0x42f07f
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1d4c
jge 0x42f0e8
and dword [ebp - 0x28], 0
jmp 0x42f095
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x4dfc
jge 0x42f0e6
and dword [ebp - 0x4c], 0
jmp 0x42f0ab
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x5267
jge 0x42f0e4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
sar eax, cl
or eax, dword [ebp - 0x30]
cdq
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
mov ecx, 0xabe158
call fcn.0042fa9b
jmp 0x42f0a4
jmp 0x42f08e
jmp 0x42f078
and dword [ebp - 0x54], 0
jmp 0x42f0f5
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x5c]
jae 0x42f439
mov dword [ebp - 0x6c], 0x61c5
mov dword [ebp - 0xa8], 0xb3d
cmp dword [ebp - 0xa8], 0x164e
jle 0x42f1c2
mov dword [ebp - 0xd0], 0xab7bc0
cmp dword [ebp - 0x6c], 0x63fe
jle 0x42f283
and dword [ebp - 0x1c], 0
jmp 0x42f1e6
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x67d2
jge 0x42f26d
and dword [ebp - 0x48], 0
jmp 0x42f1fc
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x5754
jge 0x42f268
and dword [ebp - 0x38], 0
jmp 0x42f212
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x265b
jge 0x42f266
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x1c]
cdq
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x100]
call fcn.0040567b
pop ecx
pop ecx
mov ecx, eax
call fcn.0040310d
push eax
call fcn.004937e8
pop ecx
lea ecx, [ebp - 0x100]
call fcn.00402efa
jmp 0x42f20b
dec dword [ebp - 0xff73]
invalid
jmp 0x42f1f5
jmp 0x42f1df
push 0
call dword [0xac3350]
push eax
call dword [0xac3338]
push eax
call dword [0xac3068]
mov dword [ebp - 0x80], 0x843
cmp dword [ebp - 0x80], 0x20da
jle 0x42f391
dec esp
ror byte [ecx - 0x3c], 1
fisttp qword [edi]
mov bh, 2
mov ch, 0x69
jg 0x42f23d
or al, 0xf9
pushfd
insb byte es:[edi], dx
jo 0x42f276
clc
dec ebx
pop edi
or eax, dword [esi + ebx + 0x1175d7ec]
retf
mov eax, dword [ebp - 0x14]
and dword [eax], 0
mov dword [ebp - 4], 2
cmp dword [ebp - 0x6c], 0x6121
jge 0x42f3b3
push dword [ebp - 0xd0]
call fcn.004937e8
pop ecx
jmp 0x42f3cf
or dword [ebp - 4], 0xffffffff
jmp 0x42f3d9
mov dword [ebp - 0x88], 0x215
cmp dword [ebp - 0x88], 0x1d9b
jle 0x42f42b
outsd dx, dword [esi]
lahf
test al, 0x46
push esi
sub eax, dword [eax]
xor bl, cl
cmc
fisttp qword [edx + 0x6a]
aaa
xor dword [eax - 0x39], 0x4b
enter 0x426d, 0xffffffffffffffe8
push edx
and edx, dword [edi + 0x75c250f8]
sub cl, 1
add al, 0
add cl, ch
mov ebx, 0xfffff7
ljmp 0x5f9
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
jmp 0x42f0ee
mov dword [ebp - 4], 4
cmp dword [ebp - 0x64], 0x2f06
jge 0x42f459
mov edx, dword [ebp - 0xb4]
mov ecx, 0xabe158
call fcn.004312db
jmp 0x42f475
or dword [ebp - 4], 0xffffffff
jmp 0x42f47f
mov eax, dword [ebp + 0x10]
xor edx, edx
push 4
pop ecx
div ecx
mov dword [ebp - 0x5c], edx
and dword [ebp - 0x58], 0
jmp 0x42f499
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x5c]
jae 0x42f4b0
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x42f492
jmp 0x42fa61
mov dword [ebp - 0x60], 0x19ab
mov dword [ebp - 0x74], 0xab7c38
cmp dword [ebp - 0x60], 0x1a2c
jle 0x42f540
and dword [ebp - 0x20], 0
jmp 0x42f4d9
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x505d
jge 0x42f540
and dword [ebp - 0x24], 0
jmp 0x42f4ef
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x30ec
jge 0x42f53e
and dword [ebp - 0x2c], 0
jmp 0x42f505
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x25cc
jge 0x42f53c
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
mov ecx, 0xabe158
call fcn.0042fa9b
jmp 0x42f4fe
dec dword [ecx - 0xb76b]
invalid
jmp 0x42f4e8
jmp 0x42f4d2
mov dword [ebp - 0x90], 0xed
cmp dword [ebp - 0x90], 0x15a3
jle 0x42f60e
mov al, 0xf0
push esp
test dword [edi - 0x53f93a94], esp
cmc
mov esi, 0x56caff90
mov bh, byte [eax]
js 0x42f5ca
push ds
jl 0x42f51d
in eax, 0x88
push ebx
push 0x33
sbb edi, dword [eax + ebp - 0x80]
test esi, esi
cmpsd dword [esi], dword es:[edi]
xor al, 0xb9
mov esp, 0x9547aa88
je 0x42f592
les esp, [edx - 0x44]
sahf
fdiv qword [ebx - 0x6e]
sbb eax, 0x180a0642
or eax, 0x97608d1f
pop ds
lea esp, [eax - 0x69]
jge 0x42f5a8
inc edx
out dx, al
invalid
sbb dword [edi], esp
idiv dh
or al, 0x1a
imul ebp, dword [edx + 0x36ebfe79], 0xd
adc al, 0xd9
fbld tbyte [ebp - 0x3adb5bd7]
call 0x4ec6eafe
add edi, edi
dec ecx
xor byte [edx - 0x11aea5cc], al
out dx, al
cmc
mov byte [0x7bdfec21], al
and byte [ebp + 0x2b17171a], 0x1c
cmp al, bh
mov al, dl
xor dword [ebx + 0x281ab4d9], 0x39
jne 0x42f5dd
leave
add ch, byte [eax]
adc bh, bh
add dh, byte [esp + esi*2 + 0x26]
fiadd dword [eax]
sub byte [esi - 0x36], 0x3e
xor eax, 0x533ab200
test dword [ebx - 0x77f3ba76], 0x85c7eb45
xor al, 0xff
invalid
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x15], al
mov dword [ebp - 0xcc], 0x8c
cmp dword [ebp - 0xcc], 0x1e34
jle 0x42f700
xor dword [esi + 0x2f292c2], ebx
retf 0x79fd
mov dword [ebp - 4], 6
cmp dword [ebp - 0x60], 0x16c3
jge 0x42f71d
mov edx, dword [ebp - 0x74]
mov ecx, 0xabe158
call fcn.004312db
jmp 0x42f7ca
jmp 0x4c0fd2
or dword [ebp - 4], 0xffffffff
jmp 0x42f7d4
mov dword [ebp - 0x70], 0x3e5c
mov dword [ebp - 0x8c], 0xab7cb0
mov dword [ebp - 0x78], 0xef8
cmp dword [ebp - 0x78], 0x1fc0
jle 0x42f8b7
loope 0x42f78a
ja 0x42f846
retf
or byte [eax], al
cmp dword [ebp - 0x70], 0x3ef4
jle 0x42f9f1
call dword [0xac3350]
push eax
call dword [0xac3338]
push eax
call dword [0xac30a4]
and dword [ebp - 0x34], 0
jmp 0x42f8e5
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x316
jge 0x42f9d8
mov dword [ebp - 0x7c], 0x106
cmp dword [ebp - 0x7c], 0x18a1
jle 0x42f975
test dword [edi], edi
adc byte [ebp + edx*2], dh
and edx, esp
sbb edx, dword [ebx]
invalid
and dword [ebp - 0x3c], 0
jmp 0x42f982
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x4529
jge 0x42f9d3
and dword [ebp - 0x44], 0
jmp 0x42f998
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x2b0c
jge 0x42f9d1
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
sar eax, cl
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
mov ecx, 0xabe158
call fcn.0042fa9b
jmp 0x42f991
jmp 0x42f97b
jmp 0x42f8de
push 0x1050
call dword [0xac3350]
push eax
call dword [0xac3338]
push eax
call dword [0xac308c]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x10]
dec eax
mov dword [ebp + 0x10], eax
cmp dword [ebp - 0x84], 0
je 0x42fa1b
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x15]
mov byte [eax], cl
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x42f9f1
mov dword [ebp - 4], 8
cmp dword [ebp - 0x70], 0x3b75
jge 0x42fa3b
mov edx, dword [ebp - 0x8c]
mov ecx, 0xabe158
call fcn.004312db
jmp 0x42fa57
or dword [ebp - 4], 0xffffffff
jmp 0x42fa61
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret