Function at 0x4077c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov dword [ebp - 0x30], 0x1a2c9
mov dword [ebp - 0x20], 0xc4a76
mov dword [ebp - 4], 0xb9a94
mov dword [ebp - 0x2c], 0x3c088
mov dword [ebp - 0x10], 0xaf2b9
mov dword [ebp - 0x44], 0xd9390
mov dword [ebp - 0x34], 0xc4450
mov dword [ebp - 0x38], 0xab5d8
mov dword [ebp - 0x14], 0xa32ed
mov dword [ebp - 0x40], 0xe63e0
mov dword [ebp - 0x3c], 0xb3061
mov dword [ebp - 0x18], 0xdf645
mov dword [ebp - 0x58], 0xef66f
mov dword [ebp - 0x1c], 0xe55a
mov dword [ebp - 0x60], 0xb78ff
mov dword [ebp - 0x28], 0xacffd
mov dword [ebp - 0x4c], 0x9a9dd
mov dword [ebp - 0x5c], 0x58fff
mov dword [ebp - 0xc], 0xbd8e
mov dword [ebp - 0x6c], 0x6e75f
mov dword [ebp - 0x24], 0xa41eb
mov dword [ebp - 0x64], 0xa026b
mov dword [ebp - 0x48], 0x4080
mov dword [ebp - 0x68], 0xd5e96
mov dword [ebp - 8], 0xdb50
mov dword [ebp - 0x50], 0
jmp 0x407887
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0xa41ea
cmp dword [ebp - 0x50], ecx
jge 0x4078ca
mov edx, dword [ebp + 8]
xor edx, dword [ebp - 8]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
and eax, dword [ebp - 4]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x4ebfc
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 0x10]
and edx, 0x97148
mov dword [ebp + 0x10], edx
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x40787e
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0xc]
or edx, 0xbd82c
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
or eax, 0xdfeec
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xdf2f5
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 8]
and edx, dword [ebp - 0x64]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0xc], 0xbd8f
jl 0x4078ca
mov ecx, dword [ebp - 0x40]
xor ecx, 0x1a300
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x30]
and edx, 0x76aff
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x93fd1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x44]
and edx, 0xd62ec
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
and edx, dword [ebp + 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x48]
and ecx, 0x9bd6b
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x64]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0x5b336
je 0x407a0a
mov ecx, dword [ebp - 4]
sub ecx, 0xa77a7
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x2c]
and edx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x3c]
or eax, 0x596ae
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x1c], 0x998fc
je 0x407a0a
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp + 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x4c]
and edx, dword [ebp - 8]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x18]
and eax, 0x29a07
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
sub ecx, dword [ebp + 0x10]
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x2c]
add edx, 0xb0a52
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0xc], 0xbd90
jl 0x40792c
mov dword [ebp - 0x54], 0
jmp 0x407a29
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 0x20003
cmp dword [ebp - 0x54], ecx
jge 0x407afb
mov edx, dword [ebp - 0x34]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x68], 0x54450
jne 0x407af6
mov edx, dword [ebp + 0x10]
add edx, dword [ebp - 0x34]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp - 0x30]
add eax, 0x88362
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x38]
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x68], 0x48bc
jge 0x407af6
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x3c]
xor eax, 0x8dc39
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp + 0x10]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x4c], 0xb65a6
jge 0x407af6
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
xor ecx, 0x166bc
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x2034f
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xc]
xor eax, 0xcf894
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
jmp 0x407a20
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x6c]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x33ca3
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x4c]
or eax, 0x61e55
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x2c], 0x6b7a5
je 0x407bf7
mov ecx, dword [ebp + 0x10]
or ecx, dword [ebp - 0x10]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x8bbc6
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x10]
or eax, dword [ebp - 0x58]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
xor edx, 0xd91aa
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x9b694
jne 0x407bf7
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 0x34]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
xor eax, 0x6028d
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x40], 0x9986e
jge 0x407bf7
mov edx, dword [ebp - 4]
xor edx, 0xa833d
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
and eax, dword [ebp - 0x44]
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x34], 0xe28de
jle 0x407bf7
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x14]
xor eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
and ecx, 0x86802
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov esp, ebp
pop ebp
ret