Function at 0x44ead0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov dword [ebp - 0x2c], 0xabdfb
mov dword [ebp - 0x54], 0xa9f95
mov dword [ebp - 0xc], 0x27fd8
mov dword [ebp - 8], 0x3bfbf
mov dword [ebp - 0x10], 0x4a64c
mov dword [ebp - 0x20], 0xc14a9
mov dword [ebp - 0x28], 0x8056f
mov dword [ebp - 0x34], 0x1ca63
mov dword [ebp - 0x50], 0x89ba9
mov dword [ebp - 0x58], 0xb0e1
mov dword [ebp - 0x30], 0x53193
mov dword [ebp - 0x38], 0xc307d
mov dword [ebp - 0x14], 0xd8a5f
mov dword [ebp - 0x40], 0x1e6b1
mov dword [ebp - 0x1c], 0x517bd
mov dword [ebp - 0x3c], 0x78051
mov dword [ebp - 0x48], 0x5d81c
mov dword [ebp - 0x18], 0xe1633
mov dword [ebp - 4], 0x7664
mov dword [ebp - 0x44], 0xa68ab
mov dword [ebp - 0x60], 0x83769
mov dword [ebp - 0x5c], 0x683ba
mov dword [ebp - 0x4c], 0x8ba77
mov dword [ebp - 0x24], 0xebea0
cmp dword [ebp + 0x18], 0x6c11a
jge 0x44ee76
mov eax, dword [ebp - 8]
sub eax, 0xb295
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 0xd6ac2
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0x10]
xor ecx, dword [ebp - 0x24]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x12665
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x44], 0x19eee
jge 0x44eddd
mov eax, dword [ebp + 0x1c]
xor eax, dword [ebp - 0xc]
mov dword [ebp + 0x1c], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, 0x70f4f
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x643aa
mov dword [ebp - 0x20], edx
cmp dword [ebp + 0x1c], 0x58558
jne 0x44eddd
mov eax, dword [ebp - 0x48]
add eax, 0x9b792
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
and ecx, 0x86f1b
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x20]
and edx, 0x7a173
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x30]
or eax, 0xba2c8
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp + 8]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0xb2a7d
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x38], 0xabe00
jge 0x44eddd
mov eax, dword [ebp + 8]
xor eax, dword [ebp + 0x1c]
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 8]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp + 0x1c]
sub edx, dword [ebp + 0x14]
mov dword [ebp + 0x1c], edx
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp + 0xc]
or ecx, 0x6f1b0
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x24], 0x4d7cc
jge 0x44eddd
mov edx, dword [ebp + 0x10]
sub edx, 0x59758
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x10]
and eax, 0x17fa5
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp + 0x14]
and edx, 0xaf024
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x20]
xor eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x50], 0x7f485
je 0x44eddd
mov ecx, dword [ebp - 0x1c]
add ecx, 0x24b07
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x24]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 4]
xor eax, 0x51d5d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x1b742
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp + 0x18]
mov dword [ebp - 8], edx
cmp dword [ebp - 0x2c], 0x58399
jle 0x44eddd
mov eax, dword [ebp - 0x28]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0xc]
xor ecx, dword [ebp - 0x44]
mov dword [ebp + 0xc], ecx
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x58], 0x372bd
jge 0x44eddd
mov eax, dword [ebp - 4]
add eax, 0x834d4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
and ecx, 0x42689
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x58]
and edx, 0x679fd
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp + 0xc]
and ecx, dword [ebp - 0x60]
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x40], 0x9698d
je 0x44eddd
mov edx, dword [ebp - 4]
or edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0xa0205
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0xd1077
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], 0xc03d6
jne 0x44eddd
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 0x631cf
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
and edx, 0x5b4e1
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0x10]
sub eax, 1
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x18]
add ecx, 1
mov dword [ebp + 0x18], ecx
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x48]
and ecx, 0xd6374
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp + 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
xor eax, 0xba093
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x2c], 0xaf281
jne 0x44ee71
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov edx, dword [ebp - 4]
add edx, 0xb93bc
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x50]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
or ecx, 0x15dc7
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x38]
and edx, 0x85678
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x30]
and eax, 0xa9469
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x48]
mov dword [ebp - 4], ecx
jmp 0x44eb7e
mov edx, dword [ebp - 4]
or edx, 0xc4227
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
add eax, 0x2dc1c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp + 8]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp + 0x1c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp + 0x18]
or edx, 0x72b52
mov dword [ebp + 0x18], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 4]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp + 0x14]
or ecx, 0x58474
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0xa8d04
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x2c]
xor eax, 0xab41a
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x14], 0xc63fb
jl 0x44ee76
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 0x10]
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x30]
or eax, 0xd0d44
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 0x14]
and ecx, dword [ebp - 0x10]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp + 0x18]
or ecx, dword [ebp - 0x54]
mov dword [ebp + 0x18], ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x71859
mov dword [ebp - 0x40], edx
cmp dword [ebp - 8], 0x43a81
jle 0x44f014
mov eax, dword [ebp - 0x30]
xor eax, 0x483ae
mov dword [ebp - 0x30], eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 8]
or edx, 0x3dbfa
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x18]
and eax, dword [ebp + 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x20], 0x32f4d
jne 0x44f014
mov ecx, dword [ebp - 0x18]
or ecx, 0xa2487
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x16fde
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0x18]
xor eax, dword [ebp + 0x14]
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x1c], 0x43869
jne 0x44f014
mov ecx, dword [ebp - 0x28]
or ecx, 0xdf110
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x54]
xor edx, 0x52ee7
mov dword [ebp - 0x54], edx
mov eax, dword [ebp + 0x14]
xor eax, 0x57cb6
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x14], 0xc63fc
jge 0x44f0df
mov edx, dword [ebp - 0x28]
or edx, 0x1f7f2
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x602c5
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp - 0x14]
mov dword [ebp + 0x14], eax
mov ecx, dword [ebp + 0x14]
and ecx, dword [ebp - 0x34]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0xc2b38
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x40], 0x6443
jle 0x44f09f
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0x10]
xor ecx, dword [ebp - 0x58]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x10]
xor edx, 0x34bc
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp + 0x18]
or eax, dword [ebp - 0x1c]
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0xcaad8
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x24]
and edx, dword [ebp - 0x58]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x34]
xor eax, 0xbeede
mov dword [ebp - 0x34], eax
jmp 0x44f014
mov esp, ebp
pop ebp
ret