Function at 0x445460
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [ebp - 0x20], ecx
mov ebx, 0x813fde12
mov esi, 0x9d5f6091
mov eax, dword [0x506e40]
xor eax, ebp
mov dword [ebp - 0x10], eax
jmp 0x445490
mov ebx, 0xd247e37e
nop word [eax + eax]
cmp ebx, 0xc74e02e6
jg 0x4454d0
cmp ebx, 0xa63e5805
jg 0x445670
cmp ebx, 0x813fde12
je 0x44584b
cmp ebx, 0x8d32b349
je 0x445861
cmp ebx, 0x9d5f6091
jne 0x445490
mov ebx, 0xa63e5806
jmp 0x445490
cmp ebx, 0xe69ff051
jg 0x4456d2
cmp ebx, 0xc74e02e7
je 0x445482
cmp ebx, 0xcc5cc95f
je 0x445876
cmp ebx, 0xd247e37e
jne 0x445490
mov ecx, dword [0x508154]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0x41d5fcd1
mov ecx, eax
and ecx, 0x15160c1
and edx, eax
not eax
and eax, 0x40849c10
or ecx, eax
xor ecx, 0x15160c1
or ecx, edx
not edx
and edx, 0xbe2a032e
and ecx, 0x41d5fcd1
or ecx, edx
mov edx, ecx
xor edx, 1
mov eax, ecx
not eax
and edx, ecx
and eax, 0x8e193ece
and ecx, 0x71e6c131
or ecx, eax
mov eax, edx
not eax
and edx, 0x66c40a09
mov ebx, ecx
xor ebx, 0x60c40000
xor ecx, 0x8e193ecf
mov edi, eax
and edi, 0x993bf5f6
or eax, ecx
and ecx, 0x993bf5f6
and ebx, 0x66c40a09
or edx, edi
or ebx, ecx
not eax
xor ebx, edx
or eax, ebx
mov edx, eax
not edx
mov edi, eax
andn ecx, eax, eax
and edi, 0x73ccc3ca
and edx, 0x8c333c35
or edx, edi
mov edi, ecx
not edi
and ecx, 0x8c333c35
or eax, edi
and edi, 0x73ccc3ca
or ecx, edi
not eax
xor ecx, edx
or eax, ecx
mov ecx, eax
not ecx
and eax, 0x227e53cb
and ecx, 0xdd81ac34
or eax, ecx
xor eax, 0xdd81ac34
sete al
setne dl
cmp dword [0x508150], 0xa
setge cl
setl ah
xor dl, cl
mov ch, ah
xor dl, 1
xor ch, al
or al, ah
and cl, dl
and al, ch
xor cl, 1
mov ah, cl
or cl, dl
xor ah, dl
mov edx, eax
xor cl, 1
xor dl, 1
or cl, ah
mov ch, dl
mov dh, dl
mov ah, cl
xor dl, cl
xor cl, 1
and ch, al
and ah, cl
mov bh, cl
xor dh, ch
xor ch, 1
xor ah, 1
or ch, al
xor bh, ah
or ah, cl
or cl, al
xor ch, 1
xor ah, 1
xor cl, 1
or ch, dh
or ah, bh
or cl, dl
mov bl, ch
mov al, cl
xor bl, 1
and bl, ah
xor ah, 1
and ah, ch
or ah, bl
mov ebx, 0xe69ff052
xor al, ah
test cl, 1
mov ecx, 0xc74e02e7
cmovne ebx, ecx
test ah, 1
cmove ebx, ecx
test al, 1
mov ecx, 0xe69ff052
cmove ebx, ecx
jmp 0x445490
cmp ebx, 0xa63e5806
je 0x445880
cmp ebx, 0xb021242c
je 0x445954
cmp ebx, 0xc5dd110f
jne 0x445490
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
mov ebx, 0x8d32b349
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0
mov ecx, dword [ebp - 0x14]
mov eax, 0xb021242c
cmove ebx, eax
call fcn.00444ea0
jmp 0x445490
cmp ebx, 0x23f1a4dd
je 0x445964
cmp ebx, 0x483a960f
jne 0x445a80
mov eax, dword [0x508154]
lea edx, [eax + 1]
imul edx, eax
mov ecx, edx
xor ecx, 0x8b3d815f
mov eax, edx
and eax, 0xfbec1632
and ecx, edx
not edx
and edx, 0x413e9cd
mov ebx, ecx
not ebx
and ecx, 0xa6805838
or eax, edx
mov edx, eax
xor eax, 0x11814d
xor edx, 0x82000010
mov edi, eax
or edi, 0x50422680
or eax, ebx
and ebx, 0x597fa7c7
and edx, 0x82000018
and edi, 0x597fa7c7
or ecx, ebx
not eax
or edx, edi
xor ecx, edx
or eax, ecx
not ecx
and ecx, 0x74c27ea0
and eax, 0x8b3d815f
or eax, ecx
mov edx, eax
not edx
mov ecx, eax
and ecx, 0xaf9bb3f2
and eax, 0xcc85deba
mov edi, edx
and edi, 0x50644c0d
or edx, 1
or ecx, edi
mov edi, ecx
not edi
and ecx, 0xf71640d0
and edi, 0x8e9bf2f
or ecx, edi
mov ebx, ecx
xor ebx, 0x84000c98
xor ecx, 0x588df323
mov edi, ecx
or ecx, edx
and edx, 0x337a2145
and edi, 0x337a2145
and ebx, 0xcc85deba
or ebx, edi
or eax, edx
not ecx
mov edi, 0xa63e5806
xor eax, ebx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0xc04a6af2
and eax, 0x3fb5950d
or eax, ecx
cmp eax, 0xc04a6af2
setne ah
cmp dword [0x508150], 0xa
mov dh, ah
mov ch, ah
setge cl
setl dl
xor dh, cl
and ch, dl
xor dl, ah
mov al, dh
xor dl, 1
and al, cl
or cl, ah
xor cl, 1
or al, ch
or cl, dh
xor cl, 1
or cl, dl
mov edx, ecx
mov ah, cl
xor dl, 1
and dl, cl
xor dl, 1
xor ah, dl
or dl, cl
mov ecx, eax
xor dl, 1
xor cl, 1
or dl, ah
mov ah, dl
and dl, cl
xor ah, 1
or cl, ah
and ah, al
or ah, dl
mov al, cl
mov edx, 0xa63e5806
xor al, ah
test al, 1
cmovne edx, esi
test ah, ah
mov ebx, edx
cmovne ebx, edi
test cl, 1
cmovne ebx, edx
jmp 0x445490
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov ebx, 0xc5dd110f
jmp 0x445490
push dword [ebp - 0x14]
call fcn.00445acc
add esp, 4
mov ebx, 0x483a960f
jmp 0x445490
mov ebx, 0xb021242c
jmp 0x445490
mov ecx, dword [0x508154]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
xor edx, 0xb3d3aced
mov ebx, eax
not ebx
mov ecx, eax
or ecx, 0x4c2c5312
and edx, eax
mov edi, ecx
and edi, 0xfdfa788d
and ebx, 0x2018460
mov esi, edx
not esi
and edx, 0x2058772
or ebx, edi
or ecx, esi
and esi, 0xfdfa788d
or edx, esi
not ecx
mov esi, 0x9d5f6091
xor edx, ebx
mov ebx, 0xcc5cc95f
or ecx, edx
mov edx, ecx
not edx
and ecx, 0x882b0e5
and edx, 0xf77d4f1a
or ecx, edx
mov edx, ecx
xor edx, 0xbb511c09
xor ecx, 0x44aee3f6
and edx, eax
andn eax, eax, ecx
or edx, eax
xor ecx, edx
test ecx, edx
sete ah
setne dl
cmp dword [0x508150], 0xa
mov cl, ah
setge al
setl ch
or dl, al
or cl, ch
xor ch, ah
xor al, ah
xor dl, 1
mov ah, al
and cl, ch
or dl, ch
or al, dl
xor ah, dl
mov edx, 0x9d5f6091
not al
or al, ah
xor al, cl
and al, 1
cmovne ebx, edx
test al, cl
mov ecx, 0xcc5cc95f
cmove ebx, edx
cmovne ebx, ecx
test al, al
cmove ebx, ecx
jmp 0x445490
mov eax, dword [ebp - 0x24]
mov ebx, 0x23f1a4dd
mov dword [ebp - 0x28], eax
jmp 0x445490
mov eax, dword [0x508154]
mov ebx, 0xd247e37e
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x5cb0893f
and eax, 0xa34f76c0
or ecx, eax
mov eax, ecx
not eax
and ecx, 0x3d92b9dc
and eax, 0xc26d4623
or ecx, eax
mov eax, ecx
xor ecx, 0x612230e2
xor eax, 0x9eddcf1c
mov edx, eax
and ecx, 0xfffffffe
and eax, 1
and edx, 0xfffffffe
or eax, ecx
or eax, edx
mov ecx, eax
not ecx
mov edi, eax
or edi, 0x40118
and eax, 0x32610882
mov edx, ecx
or edx, 0x8d104041
and edi, 0x8d144159
and ecx, 0x408ab624
and edx, 0x8d144159
or ecx, edi
or eax, edx
xor eax, ecx
mov ecx, eax
not ecx
and eax, 0xa2161d6
and ecx, 0xf5de9e29
or eax, ecx
mov ecx, eax
xor ecx, 0x441a1693
xor eax, 0x30446804
and eax, 0xb3e5e924
and ecx, 0x4c1a16db
or ecx, eax
xor ecx, 0xb3e5e924
setne ah
sete ch
cmp dword [0x508150], 0xa
setge al
setl cl
mov edx, eax
and cl, ah
xor dl, ch
and ch, al
or cl, ch
mov ch, al
or al, ah
xor dl, 1
xor ch, ah
mov ah, cl
mov dh, cl
xor al, 1
xor ah, 1
or al, ch
and dh, ah
xor al, 1
xor dh, 1
or al, dl
or dh, ah
or ah, al
xor dh, 1
or dh, cl
mov ecx, 0xc74e02e7
xor dh, al
mov al, ah
xor dh, 1
xor al, dh
test ah, 1
cmovne ebx, ecx
test dh, 1
cmove ebx, ecx
test al, 1
mov ecx, 0xd247e37e
cmove ebx, ecx
jmp 0x445490
cmp ebx, 0xe69ff052
jne 0x445490
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00445ab0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4