Function at 0x460640
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
push ebx
sub esp, 0x20
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [0x76036c], 0xd0049a
mov dword [0x76036c], 0xd0049d
mov dword [esp + 4], 2
mov eax, dword [0x760074]
mov dword [esp], eax
call fcn.0053a1b2
sub esp, 8
test eax, eax
je 0x4606e8
mov dword [0x76036c], 0xd0049d
mov dword [0x76036c], 0xd004a0
mov dword [esp + 4], 2
mov eax, dword [0x760074]
mov dword [esp], eax
call fcn.0053a1b2
sub esp, 8
test eax, eax
jne 0x460700
mov dword [0x76036c], 0xd004da
mov dword [0x76036c], 0xd004db
xor eax, eax
add esp, 0x20
pop ebx
pop esi
pop edi
ret
mov dword [0x76036c], 0xd0049d
call fcn.0045d120
jmp 0x460696
mov dword [0x76036c], 0xd004a1
mov dword [esp], 0x6719f4
call fcn.0053a550
sub esp, 4
mov dword [0x76036c], 0xd004a3
mov eax, dword [0x7603c4]
mov dword [esp], eax
call fcn.0056809e
sub esp, 4
lea esi, [esi]
nop
mov eax, dword [0x7603c4]
mov dword [esp], eax
call fcn.005680b3
sub esp, 4
test eax, eax
je 0x4607b2
mov dword [0x76036c], 0xd004a3
mov dword [0x76036c], 0xd004a4
mov eax, dword [0x7603c8]
cmp dword [eax + 8], 2
je 0x460788
mov dword [0x76036c], 0xd004a7
mov dword [0x76036c], 0xd004a8
jmp 0x460738
mov dword [0x76036c], 0xd004a5
mov eax, dword [eax + 0x7d]
mov dword [esp + 4], eax
mov dword [esp], str.Window_Constants
call fcn.0053a644
sub esp, 8
mov dword [0x76036c], 0xd004a6
mov dword [0x76036c], 0xd004ab
mov dword [esp], str.Designer
call fcn.0053a550
sub esp, 4
mov dword [0x76036c], 0xd004ac
mov dword [esp + 4], 1
mov dword [esp], str.SaveOnExit
call fcn.0053a7df
sub esp, 8
cmp eax, 1
je 0x460800
mov dword [0x76036c], 0xd004d9
jmp 0x4606c6
mov dword [0x76036c], 0xd004ad
mov eax, dword [0x76022c]
mov dword [esp], eax
call fcn.00559056
sub esp, 4
mov ecx, eax
xor eax, eax
cmp eax, ecx
sbb eax, edx
jge 0x460c30
mov dword [0x76036c], 0xd004ad
mov dword [0x76036c], 0xd004ae
mov eax, dword [0x76022c]
mov dword [esp + 4], eax
mov dword [esp], 0x67696c
call fcn.0053a644
sub esp, 8
mov dword [0x76036c], 0xd004af
mov dword [esp], 0x5e
call fcn.00542b42
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x66fc20
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004b5
mov dword [esp], 0
call fcn.0055a97d
sub esp, 4
mov dword [0x76036c], 0xd004b6
mov dword [0x76036c], 0xd004b6
cmp eax, 0x1000000
je 0x460c56
mov dword [0x76036c], 0xd004b9
mov dword [0x76036c], 0xd004b9
cmp eax, 0x20000000
je 0x460c9d
mov dword [0x76036c], 0xd004bc
mov dword [0x76036c], 0xd004bd
mov dword [esp + 4], 0
mov dword [esp], str.Designer_Maximize
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004bf
mov dword [esp], 0
call fcn.0055a0dd
sub esp, 4
lea edx, [esp + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.USER32.dll_GetWindowRect
sub esp, 8
mov dword [0x76036c], 0xd004c0
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], 0x67ba70
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c1
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov dword [esp], 0x67ba54
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp], str.Designer_Width
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c3
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp], str.Designer_Height
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c5
mov dword [esp], 1
call fcn.0055a0cf
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], str.UserScreen_Width
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c6
mov dword [esp], 1
call fcn.0055a07a
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], str.UserScreen_Height
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004c9
mov dword [esp], 0x2f
call fcn.00542b42
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], str.Show_Grid
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004ca
mov dword [esp], 0x31
call fcn.00542b42
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], str.Grid_Size
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004cb
mov dword [esp], 0x33
call fcn.00542b42
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], str.Snap_Grid
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004cd
mov dword [esp], str.RecentFiles
call fcn.0053a550
sub esp, 4
mov dword [0x76036c], 0xd004ce
call fcn.004016d0
mov dword [0x76036c], 0xd004cf
mov esi, 1
xor edi, edi
lea esi, [esi]
nop
mov dword [0x76036c], 0xd004d0
call fcn.00572920
call fcn.00572920
mov dword [esp], str.RecentFile_
call fcn.00572a40
sub esp, 4
call fcn.00572920
call fcn.00572920
call fcn.00572950
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0056f490
sub esp, 0xc
call fcn.00572950
call fcn.005729f0
mov edx, dword [0x760368]
mov edx, dword [edx + esi*4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0053a644
sub esp, 8
call fcn.00572990
mov dword [0x76036c], 0xd004d1
add esi, 1
adc edi, 0
mov eax, esi
xor eax, 0xa
or eax, edi
jne 0x460ad8
mov dword [0x76036c], 0xd004d4
mov dword [esp], str.GetUserColors
call fcn.0053a550
sub esp, 4
mov dword [0x76036c], 0xd004d5
xor ebx, ebx
mov esi, 1
xor edi, edi
lea esi, [esi]
mov dword [0x76036c], 0xd004d6
call fcn.00572920
call fcn.00572920
mov dword [esp], str.COLORREF
call fcn.00572a40
sub esp, 4
call fcn.00572920
call fcn.00572920
call fcn.00572950
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0056f490
sub esp, 0xc
call fcn.00572950
call fcn.005729f0
mov edx, dword [0x760364]
mov edx, dword [edx + ebx]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0053ab0a
sub esp, 8
call fcn.00572990
mov dword [0x76036c], 0xd004d7
add esi, 1
adc edi, 0
add ebx, 4
cmp ebx, 0x40
jne 0x460b90
mov dword [0x76036c], 0xd004d8
call fcn.0053a6d9
jmp 0x4607f1
mov dword [0x76036c], 0xd004ad
mov dword [esp + 4], 0x7603dc
mov dword [esp], 0x76022c
call fcn.00572830
sub esp, 8
jmp 0x460828
mov dword [0x76036c], 0xd004b7
mov dword [esp + 4], 1
mov dword [esp], str.Designer_Maximize
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004b8
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0055a9c4
sub esp, 8
jmp 0x460902
mov dword [0x76036c], 0xd004ba
mov dword [esp + 4], 0
mov dword [esp], str.Designer_Maximize
call fcn.0053a6a0
sub esp, 8
mov dword [0x76036c], 0xd004bb
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0055a9c4
sub esp, 8
mov dword [0x76036c], 0xd004bc
jmp 0x460902