Function at 0x41cdf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov dword [ebp - 0x2c], ecx
mov eax, dword [0x4b9440]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x4ba754]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
and eax, 0xf0ad1402
and ecx, 0xf52ebfd
or eax, ecx
mov ecx, eax
xor ecx, 0x502d0400
xor eax, 0xb02014c
and eax, 0xab82114e
and ecx, 0x547deeb1
or ecx, eax
mov eax, ecx
xor ecx, 0x547deeb0
xor eax, 0xab82114e
mov edx, eax
and ecx, 0xfffffffe
and eax, 1
and edx, 0xfffffffe
or eax, ecx
mov ecx, dword [0x4ba750]
or eax, edx
mov edx, eax
not edx
and eax, 0x69d6009b
and edx, 0x9629ff64
or eax, edx
mov edx, eax
xor edx, 0x61c00008
xor eax, 0x96286a20
and edx, 0x61c1954c
and eax, 0x9e3e6ab3
or eax, edx
cmp eax, 0x9e3e6ab3
mov eax, 0x828d530c
sete byte [ebp - 0x11]
cmp ecx, 0xa
setl byte [ebp - 0x12]
jmp 0x41cfe0
mov eax, dword [0x4ba754]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x699060c0
and eax, ecx
not ecx
and ecx, 0x699060c0
or eax, ecx
mov ecx, eax
not ecx
and eax, 0xef8c9515
and ecx, 0x10736aea
or eax, ecx
mov edx, eax
mov edi, eax
xor edi, 0x79e30a2a
xor edx, 0x861cf5d5
xor eax, 0x61f23b3
mov ecx, edi
or ecx, edx
or edi, 1
and edx, 0xb2f2d74a
and eax, ecx
mov ecx, eax
not ecx
and eax, 0x8003d667
and ecx, 0x7ffc2998
or eax, ecx
mov ecx, eax
not ecx
and eax, 0xb2f2d74a
mov esi, ecx
or ecx, edi
and esi, 0x4d0d28b5
and edi, 0x4d0d28b5
or eax, esi
or edx, edi
not ecx
xor edx, eax
or ecx, edx
mov edx, ecx
not edx
mov esi, ecx
andn eax, ecx, ecx
and esi, 0xba450990
and edx, 0x45baf66f
or edx, esi
mov esi, eax
not esi
and eax, 0x45baf66f
or ecx, esi
and esi, 0xba450990
or eax, esi
not ecx
mov esi, 0xd360202c
xor eax, edx
or ecx, eax
sete al
setne dl
cmp dword [0x4ba750], 0xa
setge cl
setl ah
and ah, dl
and al, cl
or al, ah
mov ah, cl
or cl, dl
xor ah, dl
xor cl, 1
mov ch, al
or cl, ah
xor cl, 1
or cl, ah
mov ah, al
xor ah, 1
mov edx, ecx
mov dh, ah
xor dl, 1
xor ah, cl
and dh, al
xor dh, 1
xor ch, dh
or dh, al
xor dh, 1
or dh, ch
mov ch, cl
and ch, dl
xor ch, 1
or ch, dl
or dl, al
xor ch, 1
xor dl, 1
or ch, cl
or dl, ah
xor ch, dh
mov eax, edx
xor al, ch
test al, 1
mov eax, 0x5a77060
cmovne esi, eax
test dl, 1
mov eax, 0xd360202c
cmovne eax, esi
test ch, 1
cmove eax, esi
nop
cmp eax, 0xe143361b
jg 0x41d020
cmp eax, 0xc022e814
jg 0x41d070
cmp eax, 0xb243fdbb
jg 0x41d19b
cmp eax, 0x828d530c
je 0x41d49b
cmp eax, 0xad6b3215
jne 0x41cfe0
mov eax, 0xe6f4e086
jmp 0x41cfe0
cmp eax, 0xf9ce122f
jg 0x41d170
cmp eax, 0xf1770c0e
jg 0x41d356
cmp eax, 0xe143361c
je 0x41d535
cmp eax, 0xe6f4e086
jne 0x41cfe0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, 0xe0c4c403
jmp 0x41cfe0
cmp eax, 0xdc45f9c0
jg 0x41d37e
cmp eax, 0xc022e815
je 0x41d54a
cmp eax, 0xd360202c
jne 0x41cfe0
mov eax, dword [0x4ba754]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov esi, ecx
and esi, 0x68a60061
mov edx, eax
and edx, 0x11010000
and eax, 0xe053206c
or esi, edx
mov edx, ecx
and edx, 0x8658ff9e
and ecx, 0x1facdf93
xor esi, 0x68a60061
or eax, ecx
or edx, esi
mov esi, edx
not esi
and edx, 0x79a70060
and esi, 0x8658ff9f
or edx, esi
mov edi, edx
not edi
and edx, 0xe053206c
mov esi, edi
and esi, 0x1facdf93
or edx, esi
mov esi, 0xf9ce1230
xor eax, edx
xor edi, eax
test edi, eax
mov edi, 0x5a77060
sete ah
cmp dword [0x4ba750], 0xa
setl al
mov edx, eax
xor dl, ah
mov ch, dl
mov cl, dl
xor dl, 1
and ch, ah
and cl, al
or al, ah
mov ah, dl
mov dh, ch
xor ch, cl
xor cl, 1
xor ah, al
or al, dl
xor dh, 1
xor al, 1
or cl, dh
or al, ah
xor cl, 1
or cl, ch
xor cl, 1
mov edx, ecx
xor cl, al
or dl, al
mov eax, 0x5a77060
mov ch, dl
xor ch, cl
test cl, 1
cmovne eax, esi
test dl, 1
cmovne eax, edi
jmp 0x41cfd9
cmp eax, 0x5e9da33e
jle 0x41d486
cmp eax, 0x5e9da33f
je 0x41d560
cmp eax, 0x76ee5526
jne 0x41cfe0
mov eax, 0xf38195a3
jmp 0x41cfe0
cmp eax, 0xb243fdbc
je 0x41cea4
cmp eax, 0xb9cfe931
jne 0x41cfe0
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [0x4ba754]
mov esi, 0xdc45f9c1
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
andn ecx, edx, edx
not edx
and eax, 0x45aaa7ff
and edx, 0xba555800
or eax, edx
mov edx, eax
xor edx, 0xaa085
xor eax, 0xba555800
mov edi, eax
and edi, 0xfda0477a
and edx, 0x25fb885
or edx, edi
mov edi, ecx
not edi
and ecx, 0x25fb885
or eax, edi
and edi, 0xfda0477a
or ecx, edi
not eax
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xff76a5a2
mov ecx, eax
not ecx
andn edi, eax, edx
mov edx, eax
and edx, 0x895a5d
or ecx, 1
and eax, 0x14afb58a
or edx, edi
and ecx, 0xeb504a75
mov edi, edx
not edi
and edx, 0xff76a5a3
or ecx, eax
and edi, 0x895a5c
or edx, edi
mov eax, edx
not eax
and edx, 0x24b5f93b
mov edi, eax
and edi, 0xdb4a06c4
or edx, edi
mov edi, ecx
xor edi, 0x20104830
xor ecx, 0x14afb58a
or eax, ecx
and ecx, 0xdb4a06c4
and edi, 0x24b5f93a
or edi, ecx
not eax
xor edi, edx
or eax, edi
mov edi, 0xad6b3215
mov ecx, eax
xor ecx, 0xfe3b41ce
mov edx, eax
and edx, 0x4a3141c8
and ecx, eax
not eax
and eax, 0xb40a0006
or edx, eax
xor edx, 0x4a3141c8
or ecx, edx
mov eax, ecx
not eax
and ecx, 0x9e02c5ea
and eax, 0x61fd3a15
or ecx, eax
mov eax, ecx
xor eax, 0x110004
xor ecx, 0x9fc67bdb
mov edx, ecx
and edx, 0xf268f4b1
and eax, 0xd970b4e
or eax, edx
xor eax, 0xd970b4e
or eax, ecx
xor eax, 0xffffffff
sete ah
setne dl
cmp dword [0x4ba750], 0xa
setl ch
setge cl
mov al, ch
mov dh, ch
xor al, dl
or dh, dl
not al
and al, dl
and dl, ch
mov ch, cl
xor al, 1
xor ch, ah
mov ebx, eax
or al, dh
and ch, cl
and cl, ah
xor bl, dh
xor al, 1
or cl, dl
or al, bl
or cl, ch
mov ebx, 0xad6b3215
xor al, 1
mov edx, eax
xor al, cl
or dl, cl
mov ecx, edx
xor cl, al
test cl, 1
cmovne ebx, esi
test al, 1
mov eax, ebx
cmovne eax, edi
test dl, 1
cmovne eax, ebx
jmp 0x41cfe0
cmp eax, 0xf1770c0f
je 0x41d59e
cmp eax, 0xf38195a3
jne 0x41cfe0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, 0xb243fdbc
jmp 0x41cfe0
cmp eax, 0xdc45f9c1
je 0x41d5e2
cmp eax, 0xe0c4c403
jne 0x41cfe0
mov ecx, dword [0x4ba754]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
not edx
or ecx, 1
mov ebx, edx
mov edi, ecx
and edi, 0x5727c74a
and ebx, 0xa8d838b4
and edx, 0x729c6906
or ebx, edi
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
and eax, 0x8d6396f9
mov esi, edi
not esi
and edi, 0xa8d838b5
or eax, edx
or ecx, esi
and esi, 0x5727c74a
or edi, esi
not ecx
xor edi, ebx
or ecx, edi
mov edi, eax
xor edi, 0x844110e1
xor eax, 0x12884006
mov edx, ecx
not edx
and ecx, 0xe45539e1
and eax, 0x1baac61e
and edi, 0xe45539e1
mov esi, edx
and esi, 0x1baac61e
or edi, eax
or ecx, esi
xor edi, ecx
xor edx, edi
test edx, edi
setne cl
cmp dword [0x4ba750], 0xa
setge dl
mov eax, edx
or dl, cl
xor al, cl
mov ah, al
mov ch, al
xor ah, 1
mov cl, ah
xor ah, dl
and cl, al
xor cl, 1
xor ch, cl
or cl, al
xor cl, 1
or cl, ch
mov ch, cl
xor cl, 1
and cl, dl
xor dl, 1
and ch, dl
or dl, al
xor dl, 1
or cl, ch
or dl, ah
mov eax, 0x5e9da33f
mov ch, dl
xor ch, cl
test dl, dl
mov edx, 0xf1770c0f
cmovne eax, edx
test cl, cl
cmove eax, edx
test ch, 1
mov edx, 0x5e9da33f
cmove eax, edx
jmp 0x41cfe0
cmp eax, 0x5a77060
jne 0x41d767
mov eax, 0xd360202c
jmp 0x41cfe0
movzx eax, byte [ebp - 0x11]
movzx ebx, byte [ebp - 0x12]
mov edi, 0xb9cfe931
mov esi, 0xdc45f9c1
mov ecx, eax
mov ch, al
mov ah, bl
xor cl, 1
xor ah, 1
and ch, cl
mov dh, ah
and cl, bl
xor ch, 1
mov dl, ch
or ch, al
xor dl, al
xor ch, 1
or ch, dl
mov dl, bl
and dl, ah
xor dl, 1
xor dh, dl
or dl, ah
and ah, al
or al, bl
xor dl, 1
or cl, ah
xor al, 1
or dl, dh
or al, cl
mov dh, dl
xor al, 1
xor dh, 1
and dh, dl
xor dh, 1
mov bh, dh
or dh, dl
xor bh, dl
xor dh, 1
mov dl, ch
or dh, bh
xor dl, 1
and dl, dh
xor dh, 1
and dh, ch
or dh, dl
mov cl, dh
xor cl, al
or al, dh
xor al, 1
or al, cl
mov edx, eax
xor dl, cl
test dl, 1
cmovne edi, esi
test al, 1
mov eax, 0xb9cfe931
cmovne eax, edi
test cl, 1
cmove eax, edi
jmp 0x41cfe0
push dword [ebp - 0x18]
call fcn.0041d7ac
add esp, 4
mov eax, 0x76ee5526
jmp 0x41cfe0
cmp byte [ebp - 0x13], 0
mov eax, 0xe143361c
mov ecx, 0xf38195a3
cmovne eax, ecx
jmp 0x41cfe0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, 0x9f31cc97
nop dword [eax + eax]
cmp eax, 0x68e57d4
je 0x41d5ec
cmp eax, 0x9f31cc97
jne 0x41d580
mov eax, dword [ebp - 0x1c]
mov dword [eax], vtable.std::exception.0
mov eax, 0x68e57d4
jmp 0x41d580
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, 0x9f31cc97
nop word cs:[eax + eax]
cmp eax, 0x68e57d4
je 0x41d74e
cmp eax, 0x9f31cc97
jne 0x41d5c0
mov eax, dword [ebp - 0x1c]
mov dword [eax], vtable.std::exception.0
mov eax, 0x68e57d4
jmp 0x41d5c0
mov eax, 0xb9cfe931
jmp 0x41cfe0
mov eax, dword [ebp - 0x1c]
add eax, 4
push eax
call fcn.0041e943
add esp, 4
mov ecx, dword [0x4ba754]
test edi, edi
sete byte [ebp - 0x13]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov ecx, eax
xor ecx, 0x552a3b8f
mov esi, eax
or esi, 0x8418410
and ecx, eax
and esi, 0x5961b79a
and edx, 0x40a0805
or edx, esi
mov esi, ecx
not esi
and ecx, 0xa69e4865
or eax, esi
and esi, 0x5961b79a
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
not ecx
and ecx, 0xaad5c470
and eax, 0x552a3b8f
or eax, ecx
mov edx, eax
xor edx, 1
mov ecx, eax
not ecx
and edx, eax
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov ecx, edx
not ecx
and edx, 0xe8b01080
mov esi, ecx
and esi, 0x174fef7f
or edx, esi
mov esi, eax
not esi
and eax, 0xe8b01080
or ecx, esi
and esi, 0x174fef7f
or eax, esi
not ecx
mov esi, 0xf1770c0f
xor eax, edx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0x90974e1e
and eax, 0x6f68b1e1
or ecx, eax
mov eax, ecx
xor eax, 0x90964a0e
xor ecx, 0xe28b040
and ecx, 0xe29b450
and eax, 0xf1d64baf
or eax, ecx
xor eax, 0xe29b450
sete ch
setne ah
cmp dword [0x4ba750], 0xa
setge al
setl dl
mov cl, al
xor cl, ah
mov dh, cl
and cl, al
and al, ch
and dh, ah
and ah, dl
or dl, ch
mov bl, dh
or al, ah
xor dh, cl
xor cl, 1
mov ah, dl
xor bl, 1
xor al, 1
or cl, bl
xor ah, al
or al, dl
xor cl, 1
xor al, 1
or cl, dh
or al, ah
mov ah, cl
mov edx, ecx
and ah, al
xor al, 1
xor dl, 1
and dl, al
or dl, ah
mov ah, cl
xor ah, al
or al, cl
xor al, 1
or al, ah
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0xc022e815
cmovne eax, esi
test dl, 1
mov edx, 0xc022e815
cmove eax, esi
test cl, 1
cmove eax, edx
jmp 0x41cfe0
mov eax, dword [ebp - 0x1c]
add eax, 4
push eax
call fcn.0041e943
add esp, 4
mov eax, 0x5e9da33f
jmp 0x41cfe0
cmp eax, 0xf9ce1230
jne 0x41cfe0
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d790
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4