Function at 0x431ae0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov eax, 0x9fe9c855
mov ebx, 0x6d1ac7e6
mov esi, ecx
jmp 0x431b10
mov eax, dword [esp]
mov dword [eax], vtable.std::exception.0
mov eax, 0x605ccf66
nop word cs:[eax + eax]
cmp eax, 0x2e962d9f
jle 0x431c20
cmp eax, 0x6d1ac7e5
jg 0x431c50
cmp eax, 0x2e962da0
je 0x431ca0
cmp eax, 0x605ccf66
jne 0x431f6c
mov eax, dword [esp]
mov dword [eax], vtable.std::exception.0
mov eax, dword [0x4f6164]
lea ebp, [eax + 1]
imul ebp, eax
mov eax, ebp
mov ecx, ebp
xor ecx, 0xfffffffe
mov edx, ebp
not eax
or edx, 1
mov ebx, eax
mov edi, edx
and ecx, ebp
and edi, 0xf658d754
and ebx, 0x9a728aa
and ebp, 0x37df1af
and eax, 0xfc820e50
or ebx, edi
mov edi, ecx
not edi
and ecx, 0x9a728ab
or eax, ebp
or edx, edi
and edi, 0xf658d754
or ecx, edi
not edx
xor ecx, ebx
mov ebx, 0x6d1ac7e6
or edx, ecx
mov ecx, edx
not ecx
and edx, 0xfc820e50
mov edi, ecx
and edi, 0x37df1af
or edx, edi
xor eax, edx
not eax
or eax, ecx
xor eax, 0xffffffff
sete ch
setne ah
cmp dword [0x4f6160], 0xa
mov dh, ch
setl dl
setge al
mov cl, dl
or dh, al
or cl, ah
xor dh, 1
xor cl, 1
or cl, dh
mov dh, dl
xor dl, ch
and ch, al
or al, ah
xor al, 1
and dh, ah
or al, dl
or dh, ch
mov dl, cl
xor al, 1
or al, dh
xor al, 1
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test cl, 1
mov ecx, 0xf05314f8
cmovne ecx, ebx
test al, 1
mov eax, 0xf05314f8
jmp 0x431e7a
cmp eax, 0xb685812b
jg 0x431c80
cmp eax, 0x8a547a68
je 0x431dfb
cmp eax, 0x9fe9c855
jne 0x431b10
mov dword [esp], esi
mov eax, 0x8a547a68
jmp 0x431b10
cmp eax, 0x6d1ac7e6
je 0x431af3
cmp eax, 0x7a89b2df
jne 0x431b10
mov eax, dword [esp]
add eax, 4
push eax
call fcn.00434d83
add esp, 4
mov eax, 0x2e962da0
jmp 0x431b10
cmp eax, 0xb685812c
je 0x431e88
cmp eax, 0xf05314f8
jne 0x431b10
mov eax, 0xb685812c
jmp 0x431b10
mov eax, dword [esp]
add eax, 4
push eax
call fcn.00434d83
add esp, 4
mov ecx, dword [0x4f6164]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x2701a021
and eax, 0xd0f6169e
and ecx, 0x8084940
or edx, ecx
xor edx, 0x2701a021
or eax, edx
mov ecx, eax
not ecx
and eax, 0x2a9ec9f9
and ecx, 0xd5613606
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0xfa68df66
xor ecx, 0x5972098
xor edx, 0x5972099
and edx, ecx
and eax, 0xfffffffe
and ecx, 1
or ecx, eax
mov eax, edx
not eax
and edx, 0x152aba49
mov ebp, ecx
not ebp
mov edi, eax
and edi, 0xead545b6
and ecx, 0x152aba49
or eax, ebp
and ebp, 0xead545b6
or edx, edi
or ecx, ebp
not eax
xor ecx, edx
or eax, ecx
andn ecx, eax, eax
mov edx, eax
not edx
mov edi, eax
and edi, 0xbf774404
mov ebp, ecx
not ebp
and edx, 0x4088bbfb
and ecx, 0x4088bbfb
or eax, ebp
and ebp, 0xbf774404
or edx, edi
mov edi, 0x45676302
or ecx, ebp
not eax
xor ecx, edx
or eax, ecx
mov ecx, eax
not ecx
and eax, 0x51538edb
mov edx, ecx
and edx, 0xaeac7124
or eax, edx
xor eax, 0x51538edb
or eax, ecx
xor eax, 0xffffffff
setne ah
sete ch
cmp dword [0x4f6160], 0xa
mov cl, ah
mov dh, ah
setge al
setl dl
inc cl
and cl, ah
and al, ch
xor cl, 1
xor dh, cl
or cl, ah
and ah, dl
xor cl, 1
or al, ah
or cl, dh
xor al, 1
xor cl, dl
or dl, ch
mov ah, al
or al, dl
xor ah, dl
xor al, 1
or al, ah
mov edx, eax
xor dl, cl
xor cl, 1
or cl, al
mov eax, edx
xor al, cl
not al
test al, 1
mov eax, 0x7a89b2df
cmovne edi, eax
test dl, 1
mov eax, 0x45676302
cmovne eax, edi
test cl, 1
cmovne eax, edi
jmp 0x431b10
mov ecx, dword [0x4f6164]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
and eax, 0x177643dc
mov edx, ecx
and edx, 0xe889bc23
or eax, edx
mov edx, eax
not edx
and eax, 0x426d653
and edx, 0xfbd929ac
or eax, edx
xor eax, 0x1350958e
or eax, ecx
xor eax, 0xffffffff
sete cl
setne dl
cmp dword [0x4f6160], 0xa
setl al
setge ah
and cl, al
xor al, dl
and dl, ah
or cl, dl
xor al, 1
xor cl, 1
or cl, ah
xor cl, 1
mov edx, ecx
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test cl, 1
mov ecx, 0x605ccf66
cmovne ecx, ebx
test al, 1
mov eax, 0x605ccf66
cmovne eax, ecx
test dl, 1
cmove eax, ecx
jmp 0x431b10
mov ecx, dword [0x4f6164]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov ecx, eax
and ecx, 0x91b2
mov ebp, eax
xor ebp, 0x1400b1b2
mov edi, edx
and edi, 0x14002000
and ebp, eax
and edx, 0x190
or ecx, edi
xor ecx, 0xffff6e4d
mov edi, ecx
and edi, 0xbdabba62
or edx, edi
mov edi, ebp
not edi
and ebp, 0x4254459d
or ecx, edi
and edi, 0xbdabba62
or ebp, edi
not ecx
mov edi, 0x7a89b2df
xor ebp, edx
or ecx, ebp
mov ebp, 0x2e962da0
mov edx, ecx
not edx
and ecx, 0x86af7488
and edx, 0x79508b77
or ecx, edx
mov edx, ecx
xor edx, 0x92afc53b
xor ecx, 0x6d503ac4
and edx, eax
andn eax, eax, ecx
or edx, eax
xor ecx, edx
test ecx, edx
sete al
setne ah
cmp dword [0x4f6160], 0xa
setl cl
setge dl
mov ch, cl
and cl, ah
and ah, dl
and ch, al
and al, dl
or ch, ah
or cl, al
mov ah, ch
xor ah, dl
mov edx, 0x2e962da0
and ah, ch
mov al, ah
xor ah, cl
xor cl, 1
xor al, 1
or cl, al
mov al, cl
xor al, ah
test al, 1
cmovne edx, edi
test ah, ah
mov eax, edx
cmovne eax, ebp
test cl, cl
cmovne eax, edx
jmp 0x431b10
cmp eax, 0x45676302
jne 0x431b10
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret