Function at 0x42fd40
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [esp + 0x24]
mov edi, 0xdd0394f4
mov dword [esp + 8], ecx
add eax, 4
mov dword [esp + 4], eax
mov eax, 0xbe9881c
jmp 0x42fd80
push dword [esp + 0xc]
push dword [esp + 8]
call fcn.00432cc0
add esp, 8
mov eax, 0x79b55044
nop word [eax + eax]
cmp eax, 0xe64ed4a5
jle 0x42ff60
cmp eax, 0x1c40614b
jg 0x4300a0
cmp eax, 0xe64ed4a6
je 0x4302ea
cmp eax, 0xf845f047
je 0x4303c9
cmp eax, 0xbe9881c
jne 0x42fd80
mov eax, dword [0x48f76c]
mov esi, 0xe64ed4a6
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x28d90a50
mov edx, ecx
not edx
mov ebp, ecx
or ebp, 0x140660a3
and eax, ecx
and ebp, 0x3c966ae3
and edx, 0x490010
mov ebx, eax
not ebx
and eax, 0xc369951c
or edx, ebp
or ecx, ebx
and ebx, 0x3c966ae3
or eax, ebx
not ecx
xor eax, edx
or ecx, eax
not eax
and eax, 0xd726f5af
and ecx, 0x28d90a50
or ecx, eax
mov eax, ecx
xor eax, 0x1bba4757
mov ebx, ecx
and ebx, 0x96064580
and eax, ecx
not ecx
and ecx, 0x69f9ba7f
or ebx, ecx
mov ecx, ebx
xor ecx, 0x96064580
xor ebx, 0x38a26c
mov edx, ecx
and edx, 0x1bba4757
mov ebp, ecx
and ebx, 0x43ea26c
and ebp, 0xfbc15d93
and ecx, 1
or eax, edx
or ebp, ebx
mov edx, eax
not edx
xor ebp, 0x43ea26d
and eax, 0xcb41475d
and edx, 0x34beb8a2
or ecx, ebp
or eax, edx
mov ebx, ecx
not ebx
mov edx, eax
xor edx, 0xc0b00003
xor eax, 0x2f04fff4
and ebx, 0xe3b4d453
mov ebp, eax
or eax, ecx
and ecx, 0x1c4b2bac
and ebp, 0x1c4b2bac
and edx, 0xe3b4d453
or edx, ebp
or ebx, ecx
not eax
xor ebx, edx
or eax, ebx
mov ecx, eax
not ecx
and eax, 0x333fe042
and ecx, 0xccc01fbd
or eax, ecx
mov ecx, eax
xor ecx, 0x31b2042
xor eax, 0xc4c0092d
and eax, 0xf4e4c92d
and ecx, 0xb1b36d2
or ecx, eax
mov eax, ecx
xor eax, 0xd404880c
xor ecx, 0x11016c0
and eax, 0xde0fa81e
and ecx, 0x21f057e1
or ecx, eax
xor ecx, 0x21f057e1
setne dl
sete ch
cmp dword [0x48f768], 0xa
setl ah
setge al
mov cl, ah
xor ah, ch
or ch, al
or cl, dl
xor ch, 1
xor cl, 1
or cl, ch
mov ch, dl
xor ch, al
or al, dl
xor al, 1
or al, ah
xor al, 1
or al, ch
mov ch, cl
mov edx, eax
xor ch, 1
not dl
and dl, ch
or ch, al
and al, cl
or al, dl
mov edx, 0x78b62d1d
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x78b62d1d
cmovne eax, esi
test ch, 1
cmovne eax, edx
test cl, 1
cmove eax, esi
jmp 0x42fd80
cmp eax, 0xcbea6f27
jle 0x43019b
cmp eax, 0xcbea6f28
je 0x43052a
cmp eax, 0xdd0394f4
je 0x430534
cmp eax, 0xe2e8ce0e
jne 0x42fd80
mov eax, dword [esp]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [esp]
mov ecx, dword [0x48f76c]
add eax, 4
mov dword [esp + 0xc], eax
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov ecx, eax
and ecx, 0x13e3aa00
mov ebx, edx
and ebx, 0xec1c55ff
and edx, 0x6286807a
or ecx, ebx
mov ebx, eax
xor ebx, 0xfffffffe
mov ebp, ecx
xor ecx, 0xec1c55fe
xor ebp, 0x3a38800
and ebx, eax
and eax, 0x9d797f85
or ecx, 1
and ebp, 0x7ab9d86
or eax, edx
mov esi, ecx
and esi, 0xf8546278
mov edx, eax
xor edx, 0x9d797f85
xor eax, 0x6286807a
or ebp, esi
mov esi, ebx
not esi
and ebx, 0x7ab9d87
or ecx, esi
and esi, 0xf8546278
or ebx, esi
not ecx
mov esi, 0xcbea6f28
xor ebx, ebp
or ecx, ebx
mov ebx, 0xcbea6f28
andn edx, ecx, edx
and eax, ecx
not ecx
or eax, edx
xor ecx, eax
test ecx, eax
setne ah
sete ch
cmp dword [0x48f768], 0xa
mov dh, ah
setge cl
setl dl
xor dh, cl
mov al, cl
and ah, dl
and cl, ch
or dl, ch
or al, ch
or cl, ah
and dh, ch
xor al, 1
xor cl, 1
mov ah, cl
or al, dh
or cl, dl
xor ah, dl
xor cl, 1
xor al, 1
or cl, ah
mov edx, eax
or dl, cl
xor al, cl
mov ecx, edx
xor cl, al
test cl, 1
cmovne ebx, edi
test al, 1
mov eax, ebx
cmovne eax, esi
test dl, 1
cmovne eax, ebx
jmp 0x42fd80
cmp eax, 0x1c40614c
je 0x430552
cmp eax, 0x78b62d1d
je 0x43055c
cmp eax, 0x79b55044
jne 0x42fd80
push dword [esp + 0xc]
push dword [esp + 8]
call fcn.00432cc0
add esp, 8
mov ecx, dword [0x48f76c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
mov ebx, eax
xor ebx, 0xfffffffe
mov edx, eax
not ecx
or edx, 1
mov ebp, ecx
mov esi, edx
and ebx, eax
and esi, 0xdf695db0
and ebp, 0x2096a24e
and ecx, 0x7ea6c5d
and eax, 0xf81593a2
or ebp, esi
mov esi, ebx
not esi
and ebx, 0x2096a24f
or eax, ecx
or edx, esi
and esi, 0xdf695db0
xor eax, 0xf81593a2
or ebx, esi
not edx
xor ebx, ebp
or edx, ebx
mov esi, edx
not esi
and edx, 0x430982b4
and esi, 0xbcf67d4b
or edx, esi
mov esi, 0xa790fd8f
xor edx, 0x430982b4
or eax, edx
xor eax, 0xffffffff
sete dl
setne cl
cmp dword [0x48f768], 0xa
setge al
mov ah, al
xor ah, cl
or cl, al
or al, dl
xor cl, 1
and ah, dl
xor al, 1
or al, ah
mov edx, ecx
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x92e9e30f
cmovne eax, esi
test dl, dl
mov edx, 0x92e9e30f
cmove eax, esi
test cl, 1
cmove eax, edx
jmp 0x42fd80
cmp eax, 0xa790fd8f
je 0x42fd62
cmp eax, 0xad1c0844
jne 0x430570
mov ecx, dword [0x48f76c]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov esi, eax
or esi, 0x8c084418
and eax, 0x6042a880
mov edx, ecx
or edx, 0x13340166
and esi, 0x9f3c457e
and ecx, 0x811201
and edx, 0x9f3c457e
or ecx, esi
or eax, edx
xor eax, ecx
mov ecx, eax
not ecx
and eax, 0x13b51367
and ecx, 0xec4aec98
or eax, ecx
mov edx, eax
xor edx, 0x1a804465
mov esi, eax
xor esi, 0xc4021902
mov ecx, eax
not ecx
and eax, 0xd4c75b4a
and esi, 0xc40ab99a
and edx, 0x3bf54665
or edx, esi
mov esi, ecx
and esi, 0x2b38a4b5
and ecx, 1
or esi, eax
xor edx, 0x217da299
xor esi, 0xd4c75b4b
or ecx, esi
not ecx
or ecx, edx
mov eax, ecx
xor eax, 0xb5be177c
mov edx, ecx
not edx
and eax, ecx
or ecx, 0x4a41e883
and edx, 0xa4980468
mov esi, eax
not esi
mov ebx, ecx
and ebx, 0x5366bb97
and eax, 0xac994468
or ecx, esi
and esi, 0x5366bb97
or edx, ebx
mov ebx, 0xa790fd8f
or eax, esi
not ecx
mov esi, 0x79b55044
xor eax, edx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0x473c79cc
and eax, 0xb8c38633
or ecx, eax
xor ecx, 0xf2826eb0
setne dl
sete ah
cmp dword [0x48f768], 0xa
setge ch
setl cl
mov al, ch
and cl, dl
xor al, ah
and al, ah
and ah, ch
mov edx, eax
or cl, ah
xor al, cl
xor dl, 1
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xa790fd8f
cmovne eax, esi
test cl, cl
cmovne eax, ebx
test dl, dl
cmove eax, esi
jmp 0x42fd80
mov eax, dword [esp + 8]
mov esi, 0x78b62d1d
mov dword [esp], eax
mov eax, dword [esp]
mov dword [eax], vtable.std::exception.0
mov ecx, dword [0x48f76c]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov ebx, eax
and ebx, 0xb864ed7e
mov ecx, edx
and ecx, 0x479b1280
and edx, 0x3f75d87c
or ebx, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
xor ebx, 0xb864ed7e
and eax, 0xc08a2783
or ecx, ebx
or eax, edx
mov edx, ecx
not edx
and ecx, 0x7a1c77f8
mov ebx, edx
and ebx, 0x85e38807
or ecx, ebx
mov ebx, eax
xor ebx, 0x40082780
xor eax, 0x5618804
and eax, 0x85e38807
and ebx, 0x7a1c77f8
or ebx, eax
xor ebx, ecx
not ebx
or ebx, edx
xor ebx, 0xffffffff
mov ebx, 0x1c40614c
sete al
setne ch
cmp dword [0x48f768], 0xa
setl cl
setge ah
mov edx, ecx
and cl, ch
and ch, ah
and dl, al
and al, ah
or dl, ch
or cl, al
xor dl, 1
or dl, ah
mov eax, 0x78b62d1d
xor dl, 1
xor cl, dl
mov ch, cl
not ch
and ch, dl
test cl, 1
cmovne eax, ebx
test ch, 1
cmove eax, esi
cmovne eax, ebx
test cl, 1
cmovne eax, ebx
jmp 0x42fd80
mov ecx, dword [0x48f76c]
mov edi, 0xdd0394f4
lea eax, [ecx + 1]
imul eax, ecx
mov ebx, eax
not ebx
and eax, 0x81442
mov ecx, ebx
and ecx, 0xb8100310
and ebx, 0x47e7e8ad
or eax, ecx
xor eax, 0x81442
or ebx, eax
mov ecx, ebx
not ecx
mov eax, ebx
xor eax, 0xfface1f4
mov ebp, ecx
and eax, ebx
and ebx, 0x9f1d7e78
and ebp, 0x60e28187
mov edx, ecx
and edx, 0xfface1f4
and ecx, 1
or ebp, ebx
or eax, edx
mov ebx, ebp
xor ebx, 0x121d1229
mov edx, eax
not edx
xor ebp, 0x808000
and eax, 0x43f8fbc7
or ecx, ebx
and edx, 0xbc070438
and ebp, 0x8d80ec50
and ecx, 0x727f13af
or eax, edx
or ecx, ebp
mov edx, eax
xor edx, 0xb8440830
xor eax, 0x43abe5cd
mov ebx, ecx
xor ebx, 0x726c0121
xor ecx, 0x8d80ec50
mov ebp, eax
and ebp, 0x513728e
and edx, 0xfaec8d71
or eax, ecx
and ecx, 0x513728e
and ebx, 0xfaec8d71
or edx, ebp
or ebx, ecx
not eax
xor ebx, edx
or eax, ebx
xor eax, 0xffffffff
sete ah
setne dl
cmp dword [0x48f768], 0xa
setge ch
setl cl
mov al, ch
xor al, dl
mov dh, al
and al, ch
and ch, ah
and dh, dl
and dl, cl
or cl, ah
or dl, ch
xor cl, 1
mov bl, dh
xor dh, al
xor al, 1
or cl, dl
xor bl, 1
mov dl, cl
or al, bl
xor dl, 1
xor al, 1
mov ch, dl
or al, dh
and ch, cl
mov ah, al
xor ch, 1
xor ah, 1
mov dh, ch
or ch, cl
xor dh, cl
xor ch, 1
mov cl, al
or ch, dh
xor cl, dl
or dl, al
xor dl, 1
and ah, ch
xor ch, 1
and ch, al
or dl, cl
or ch, ah
mov cl, dl
mov eax, 0xe2e8ce0e
xor cl, ch
test dl, 1
mov edx, 0xdd0394f4
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0xe2e8ce0e
cmove eax, edx
jmp 0x42fd80
mov eax, 0xad1c0844
jmp 0x42fd80
mov eax, dword [esp]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [esp]
mov eax, 0xe2e8ce0e
jmp 0x42fd80
mov eax, 0xf845f047
jmp 0x42fd80
mov eax, dword [esp + 8]
mov dword [eax], vtable.std::exception.0
mov eax, 0xe64ed4a6
jmp 0x42fd80
cmp eax, 0x92e9e30f
jne 0x42fd80
mov eax, dword [esp]
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret 4