Function at 0x4407e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov dword [ebp - 0x1c], ecx
mov edi, 0x4ab2da93
mov ebx, 0xbd96b0db
mov eax, dword [0x502e40]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x504164]
mov eax, dword [0x504160]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
not ecx
mov esi, edx
xor esi, 0xfffffffe
andn esi, edx, esi
and edx, 0x64024124
and ecx, 0x9bfdbedb
or ecx, edx
xor ecx, 0x9bfdbeda
or ecx, esi
mov esi, ecx
andn edx, ecx, ecx
not ecx
and esi, 0x2141b59e
and ecx, 0xdebe4a61
or esi, ecx
xor esi, 0x2141b59e
or edx, esi
mov ecx, edx
not ecx
and edx, 0xdef55415
mov esi, ecx
and esi, 0x210aabea
or edx, esi
xor edx, 0x210aabea
xor ecx, edx
test ecx, edx
sete byte [ebp - 0x11]
cmp eax, 0xa
mov eax, 0x9d54b151
setl byte [ebp - 0x12]
jmp 0x440890
mov eax, 0x1ed8dbc8
nop dword [eax]
cmp eax, 0xbd96b0da
jle 0x4408c0
cmp eax, 0x224a3640
jle 0x4409c0
cmp eax, 0x224a3641
je 0x440b27
cmp eax, 0x4ab2da93
jne 0x440c98
mov eax, 0x8da339ce
jmp 0x440890
cmp eax, 0x9d54b150
jg 0x440af0
cmp eax, 0x86f639ef
je 0x440b31
cmp eax, 0x8da339ce
jne 0x440890
mov eax, dword [0x504164]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xae271ca
mov edx, eax
and edx, 0xf51d8e35
and eax, 0xc73e84a0
or edx, ecx
mov ecx, edx
xor ecx, 0xf51d8e35
xor edx, 0x820708a
mov esi, ecx
and esi, 0x38c17b5f
and edx, 0x4d257aaa
or eax, esi
mov esi, eax
not esi
and eax, 0x9bf92f50
and esi, 0x6406d0af
or eax, esi
mov esi, ecx
and esi, 0xb2da8555
and ecx, 1
or esi, edx
xor eax, 0xa338540e
xor esi, 0x4d257aab
or ecx, esi
not ecx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0xe46a0884
and eax, 0x1b95f77b
or eax, ecx
cmp eax, 0xe46a0884
setne al
cmp dword [0x504160], 0xa
setge ch
setl ah
mov cl, ch
and ah, al
or cl, al
inc al
and al, ch
mov edx, ecx
or al, ah
xor dl, 1
mov ah, al
and cl, al
not ah
and ah, dl
or cl, ah
mov ah, dl
xor ah, al
or al, dl
xor al, 1
or al, ah
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0x72774501
cmovne edx, edi
test al, al
mov eax, 0x72774501
jmp 0x440ada
cmp eax, 0xbd96b0db
je 0x440884
cmp eax, 0x1ed8dbc8
jne 0x440890
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov ecx, dword [0x504164]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov ecx, eax
xor ecx, 0x634a9938
mov esi, eax
or esi, 0x901142c3
and ecx, eax
and esi, 0x915bdbeb
and edx, 0x62000010
or edx, esi
mov esi, ecx
not esi
and ecx, 0x6ea42414
or eax, esi
and esi, 0x915bdbeb
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
not ecx
and ecx, 0x9cb566c7
and eax, 0x634a9938
or eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and eax, 1
and edx, 0xfffffffe
and ecx, 0xfffffffe
or eax, ecx
or eax, edx
mov ecx, eax
not ecx
and eax, 0x1cd3721b
and ecx, 0xe32c8de4
or ecx, eax
mov eax, ecx
xor eax, 0x811219
xor ecx, 0x612409a4
and ecx, 0x7d7669a6
and eax, 0x82899659
or eax, ecx
mov ecx, eax
xor ecx, 0x82809450
xor eax, 0x30144106
and eax, 0x301d430f
and ecx, 0xcfe2bcf0
or ecx, eax
xor ecx, 0xcfe2bcf0
sete ah
setne ch
cmp dword [0x504160], 0xa
setl dl
setge al
and ah, al
and dl, ch
or al, ch
or dl, ah
mov ecx, eax
mov ah, dl
not cl
and dl, al
xor ah, 1
and cl, ah
or ah, al
or cl, dl
mov al, ah
mov edx, 0x224a3641
xor al, cl
cmovne edx, ebx
test ah, ah
mov eax, 0x224a3641
cmovne eax, edx
test cl, cl
cmove eax, edx
jmp 0x440890
cmp eax, 0x9d54b151
je 0x440c3a
cmp eax, 0xb6baabd7
jne 0x440890
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [eax], vtable.std::exception.0
add eax, 4
push eax
call fcn.00442563
add esp, 4
mov eax, 0x86f639ef
jmp 0x440890
mov eax, 0xb6baabd7
jmp 0x440890
mov eax, dword [0x504164]
lea ecx, [eax + 1]
imul ecx, eax
mov esi, ecx
mov eax, ecx
xor eax, 0xfffffffe
not esi
mov edx, esi
and eax, ecx
and edx, 0xfffffffe
and esi, 0xea925505
and ecx, 0x156daafa
or eax, edx
or ecx, esi
mov edx, eax
not edx
and eax, 0xeaf43e9d
and edx, 0x150bc162
or eax, edx
mov edx, eax
xor edx, 0x80403e81
xor eax, 0x150bc162
mov esi, eax
and esi, 0x6fbfc13e
and edx, 0x90403ec1
or edx, esi
mov esi, ecx
xor esi, 0x10402ac0
xor ecx, 0xea925505
or eax, ecx
and ecx, 0x6fbfc13e
and esi, 0x90403ec1
or esi, ecx
not eax
xor esi, edx
or eax, esi
mov ecx, eax
not ecx
and eax, 0x571ad608
and ecx, 0xa8e529f7
or eax, ecx
xor eax, 0x571ad608
setne al
sete cl
cmp dword [0x504160], 0xa
setl dl
setge ah
mov ch, dl
xor ch, cl
or cl, dl
and dl, al
inc al
and al, ah
xor cl, 1
or al, dl
or cl, ch
mov edx, eax
mov ah, al
not dl
and dl, al
xor dl, 1
xor ah, dl
or dl, al
xor dl, 1
or dl, ah
mov ah, dl
xor dl, 1
and dl, cl
xor cl, 1
and ah, cl
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, 0x8da339ce
cmovne eax, edi
test dl, 1
mov edx, 0x8da339ce
cmove eax, edi
test cl, 1
cmove eax, edx
jmp 0x440890
movzx ecx, byte [ebp - 0x11]
mov ah, byte [ebp - 0x12]
mov esi, 0x1ed8dbc8
mov edx, ecx
mov al, cl
xor dl, 1
or al, ah
mov ch, dl
and dl, ah
xor ah, 1
xor al, 1
xor ch, ah
and ah, cl
or ah, dl
or al, ch
mov cl, ah
mov dl, ah
and dl, al
xor cl, 1
xor al, 1
and cl, al
or cl, dl
mov edx, eax
or al, ah
xor dl, ah
xor al, 1
or al, dl
mov edx, eax
xor dl, cl
test dl, 1
cmovne esi, ebx
test al, 1
mov eax, 0x1ed8dbc8
cmovne eax, esi
test cl, 1
cmove eax, esi
jmp 0x440890
cmp eax, 0x72774501
jne 0x440890
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004413b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret