Function at 0x413380
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [0x4b12c0]
and ecx, 0x17
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, 0x248c5caf
mov dword [esp + 8], ecx
jmp 0x4133c0
cmp edx, 0xffffffff
cmovne eax, esi
cmp ecx, 0xa
cmovge eax, esi
nop word cs:[eax + eax]
cmp eax, 0x53a0ad9
jle 0x413410
cmp eax, 0x38b176bf
jg 0x413460
cmp eax, 0x2e9089fe
jg 0x4135bf
cmp eax, 0x1b83638b
jg 0x413712
cmp eax, 0x53a0ada
je 0x413871
cmp eax, 0x7f73d18
je 0x4138ae
cmp eax, 0xad90264
jne 0x4133c0
mov eax, 0xb62f6156
jmp 0x4133c0
cmp eax, 0xcf363f61
jg 0x4134b0
cmp eax, 0xab0de116
jg 0x41353d
cmp eax, 0x997fa4f1
jle 0x41374c
cmp eax, 0x997fa4f2
je 0x4138b8
cmp eax, 0x9fc2ef02
je 0x4138c2
cmp eax, 0xa2377d86
jne 0x4133c0
mov eax, 0xe7605528
jmp 0x4133c0
cmp eax, 0x6577ae58
jg 0x413634
cmp eax, 0x506256f2
jle 0x41376f
cmp eax, 0x506256f3
je 0x4138e1
cmp eax, 0x5eb39709
je 0x4138eb
cmp eax, 0x5f4e2afe
jne 0x4133c0
push 1
lea eax, [esp + 0x14]
push eax
call fcn.00413c50
add esp, 8
mov eax, 0xec970a3c
jmp 0x4133c0
cmp eax, 0xee0f1da4
jg 0x41369e
cmp eax, 0xe1890f23
jle 0x4137b4
cmp eax, 0xe1890f24
je 0x413933
cmp eax, 0xe7605528
je 0x41394d
cmp eax, 0xec970a3c
jne 0x4133c0
push 1
lea eax, [esp + 0x14]
push eax
call fcn.00413c50
add esp, 8
mov eax, dword [0x4b31f0]
mov ecx, 0x5f4e2afe
mov esi, 0x6aa2a0e0
lea edx, [eax + 1]
imul edx, eax
mov eax, 0x6aa2a0e0
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete dl
je 0x413521
mov esi, 0x5f4e2afe
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
cmp eax, 0xb62f6155
jle 0x413794
cmp eax, 0xb62f6156
je 0x413969
cmp eax, 0xbe1e75b2
je 0x4139ad
cmp eax, 0xcedfa681
jne 0x4133c0
mov eax, dword [esp]
mov esi, 0xe1890f24
mov ecx, eax
xor ecx, 0xfffffffd
test ecx, eax
mov eax, dword [0x4b31f0]
mov ecx, 0x9fc2ef02
setne byte [esp + 7]
lea edx, [eax + 1]
imul edx, eax
mov eax, 0xe1890f24
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete dl
je 0x4135a3
mov esi, 0x9fc2ef02
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dl, dh
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
cmp eax, 0x360f237d
jle 0x4137d4
cmp eax, 0x360f237e
je 0x4139b7
cmp eax, 0x37188528
je 0x4139d1
cmp eax, 0x38275b43
jne 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov edi, 0x6577ae59
lea edx, [eax + 1]
imul edx, eax
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x6577ae59
jne 0x41361f
mov edi, 0x3d206b0f
test esi, edx
cmovne eax, edi
cmp ecx, 0xa
cmovge eax, edi
mov edi, str.ios_base::eofbit_set
jmp 0x4133c0
cmp eax, 0x75d8670f
jle 0x4137f4
cmp eax, 0x75d86710
je 0x4139e0
cmp eax, 0x7cfef5ca
je 0x413a1e
cmp eax, 0x7ecf06c7
jne 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov esi, 0x1b83638c
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x1b83638c
jne 0x4133a8
mov esi, 0x997fa4f2
jmp 0x4133a8
cmp eax, 0xf2277e0a
jle 0x413814
cmp eax, 0xf2277e0b
je 0x413a28
cmp eax, 0xf90dc444
je 0x413a42
cmp eax, 0xfaefa2f0
jne 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, 0xad90264
mov esi, 0xb62f6156
lea edx, [eax + 1]
imul edx, eax
mov eax, 0xb62f6156
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
je 0x4136f6
mov esi, 0xad90264
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dl, dh
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
cmp eax, 0x22039618
je 0x413a51
cmp eax, 0x248c5caf
jne 0x413be1
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [eax + 0x10]
xor ecx, eax
andn ebx, ecx, eax
mov eax, 0x360f237e
setne byte [esp + 4]
jmp 0x4133c0
cmp eax, 0x90e81ac9
je 0x413a8f
cmp eax, 0x972539cc
jne 0x413bee
mov dword [esp], ebx
mov eax, 0x75d86710
jmp 0x4133c0
cmp eax, 0x38b176c0
je 0x413ad7
cmp eax, 0x3d206b0f
jne 0x413bfb
mov eax, 0x38275b43
mov edi, str.ios_base::eofbit_set
jmp 0x4133c0
cmp eax, 0xab424afb
je 0x413b24
cmp eax, 0xabebdfea
jne 0x413c08
mov eax, 0xf0078858
jmp 0x4133c0
cmp eax, 0xcf363f62
je 0x413b6b
cmp eax, 0xdab0315f
jne 0x4133c0
mov eax, 0x53a0ada
jmp 0x4133c0
cmp eax, 0x2e9089ff
je 0x413b85
cmp eax, 0x35280d68
jne 0x4133c0
mov eax, 0x5eb39709
jmp 0x4133c0
cmp eax, 0x6577ae59
je 0x413bcd
cmp eax, 0x6aa2a0e0
jne 0x4133c0
mov eax, 0x22039618
jmp 0x4133c0
cmp eax, 0xee0f1da5
je 0x413bd7
cmp eax, 0xf0078858
jne 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, 0xabebdfea
mov esi, 0x7f73d18
lea edx, [eax + 1]
imul edx, eax
mov eax, 0x7f73d18
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete dl
je 0x413855
mov esi, 0xabebdfea
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov ebp, 0xf0078858
lea edx, [eax + 1]
imul edx, eax
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xf0078858
jne 0x41399d
mov ebp, 0xabebdfea
jmp 0x41399d
mov eax, 0x5eb39709
jmp 0x4133c0
mov eax, 0x7ecf06c7
jmp 0x4133c0
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, dword [esp]
mov eax, 0xcedfa681
jmp 0x4133c0
mov eax, 0x38b176c0
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, 0x5f4e2afe
mov esi, 0xec970a3c
lea edx, [eax + 1]
imul edx, eax
mov eax, 0xec970a3c
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
je 0x413917
mov esi, 0x5f4e2afe
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
cmp byte [esp + 7], 0
mov eax, 0x37188528
jne 0x4133c0
mov eax, 0x90e81ac9
jmp 0x4133c0
mov ecx, ebx
xor ecx, 0xfffffffb
mov eax, 0x972539cc
test ecx, ebx
je 0x4133c0
mov eax, 0xf90dc444
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov ebp, 0x35280d68
lea edx, [eax + 1]
imul edx, eax
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x35280d68
jne 0x41399d
mov ebp, 0xad90264
test esi, edx
cmovne eax, ebp
cmp ecx, 0xa
cmovge eax, ebp
jmp 0x4133c0
mov eax, 0x2e9089ff
jmp 0x4133c0
cmp byte [esp + 4], 0
mov eax, 0xab424afb
jne 0x4133c0
mov eax, 0xbe1e75b2
jmp 0x4133c0
mov eax, 0xdab0315f
mov edi, str.ios_base::failbit_set
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov esi, 0xcedfa681
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xcedfa681
jne 0x4133a8
mov esi, 0x9fc2ef02
jmp 0x4133a8
mov eax, 0xf2277e0b
jmp 0x4133c0
movzx eax, byte [esp + 5]
not al
or al, 0xfe
cmp al, 0xff
mov eax, 0xcf363f62
setne byte [esp + 6]
jmp 0x4133c0
mov eax, 0xfaefa2f0
mov edi, str.ios_base::badbit_set
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov esi, 0xab0de117
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xab0de117
jne 0x4133a8
mov esi, 0x89f6e30c
jmp 0x4133a8
mov eax, dword [0x4b31f0]
mov ecx, 0x3d206b0f
mov esi, 0x38275b43
lea edx, [eax + 1]
imul edx, eax
mov eax, 0x38275b43
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
je 0x413abb
mov esi, 0x3d206b0f
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, dword [0x4b31ec]
mov ebp, 0x7cfef5ca
lea edx, [eax + 1]
imul edx, eax
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x7cfef5ca
jne 0x413b0b
mov ebp, 0x506256f3
test esi, edx
movzx edx, byte [esp + 0x48]
cmovne eax, ebp
cmp ecx, 0xa
cmovge eax, ebp
mov byte [esp + 5], dl
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, 0x506256f3
mov esi, 0x38b176c0
lea edx, [eax + 1]
imul edx, eax
mov eax, 0x38b176c0
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete dl
je 0x413b4f
mov esi, 0x506256f3
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
cmp byte [esp + 6], 0
mov eax, 0x3e10b8a2
jne 0x4133c0
mov eax, 0xa2377d86
jmp 0x4133c0
mov eax, dword [0x4b31f0]
mov ecx, 0x997fa4f2
mov esi, 0x7ecf06c7
lea edx, [eax + 1]
imul edx, eax
mov eax, 0x7ecf06c7
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
je 0x413bb1
mov esi, 0x997fa4f2
cmp dword [0x4b31ec], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jne 0x4133c0
mov eax, ecx
jmp 0x4133c0
mov eax, 0xee0f1da5
jmp 0x4133c0
mov eax, 0x53a0ada
jmp 0x4133c0
cmp eax, 0x1b83638c
jne 0x4133c0
jmp 0x413c2f
cmp eax, 0x89f6e30c
jne 0x4133c0
jmp 0x413c13
cmp eax, 0x3e10b8a2
jne 0x4133c0
jmp 0x413c44
cmp eax, 0xab0de117
jne 0x4133c0
lea esi, [esp + 0x18]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push edi
call fcn.00413ea0
push 0x4af158
push esi
call fcn.0043ed94
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.0043b9a0
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret 8
push 0
push 0
call fcn.0043ed94
int3