Function at 0x62f818
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push ebx
xor eax, eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x62fd8c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
lea eax, [ebp - 0x13c]
call fcn.00635ec0
mov edx, dword [ebp - 0x13c]
mov eax, 0x1b3e57c
call fcn.00404b38
mov eax, dword [0x1b3e57c]
mov edx, 0x62fda4
call fcn.00404f00
je 0x62fd59
lea eax, [ebp - 0x140]
mov ecx, dword [0x1b3e57c]
mov edx, 0x62fdb4
call fcn.00404e00
mov edx, dword [ebp - 0x140]
mov eax, dword [0x66a00c]
mov eax, dword [eax]
call fcn.0052fa8c
call fcn.00594490
dec eax
je 0x62f8c8
dec eax
je 0x62f8de
dec eax
je 0x62f8f4
jmp 0x62f90a
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62fdcc
call fcn.0052fa8c
jmp 0x62fd59
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62fdf0
call fcn.0052fa8c
jmp 0x62fd59
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62fe14
call fcn.0052fa8c
jmp 0x62fd59
lea eax, [ebp - 0x28]
call fcn.00404ae4
lea eax, [ebp - 0x28]
call fcn.00589cd0
mov eax, dword [ebp - 0x28]
mov edx, 0x62fe44
call fcn.00404f00
jne 0x62f98b
push 0x24
push 0x62fe54
push 0x62fe60
push 0
call sub.user32.dll_MessageBoxA_1
sub eax, 6
je 0x62f946
dec eax
je 0x62f965
jmp 0x62f98b
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62fec0
call fcn.0052fa8c
mov eax, dword [0x669b48]
mov eax, dword [eax]
call fcn.00498e74
jmp 0x62f98b
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62fef0
call fcn.0052fa8c
mov byte [ebp - 1], 0
mov eax, dword [0x669b48]
mov eax, dword [eax]
call fcn.00498e74
jmp 0x62fd59
mov eax, 0x1b3e59c
mov edx, dword [0x669224]
mov edx, dword [edx + 4]
call fcn.00404b38
mov eax, 0x1b3e598
mov edx, dword [0x669224]
mov edx, dword [edx]
call fcn.00404b38
mov eax, 0x1b3e594
mov edx, dword [0x669224]
mov edx, dword [edx + 8]
call fcn.00404b38
lea eax, [ebp - 0x1c]
mov edx, 0x62ff20
call fcn.00404b7c
lea eax, [ebp - 0x20]
mov edx, 0x62ff4c
call fcn.00404b7c
lea eax, [ebp - 0x5a]
xor ecx, ecx
mov edx, 0x32
call fcn.00403224
lea edx, [ebp - 0x5a]
mov eax, dword [ebp - 0x20]
call fcn.0049b78c
lea edx, [ebp - 0x4b]
mov eax, dword [ebp - 0x1c]
call fcn.0049b78c
lea eax, [ebp - 0x18]
mov edx, 0x10
call fcn.00405140
lea eax, [ebp - 0x18]
call fcn.0040500c
mov ecx, eax
lea eax, [ebp - 0x5a]
mov edx, 0x1e
call fcn.0049d79c
lea eax, [ebp - 0x18]
call fcn.0040500c
mov byte [eax + 0xf], 0
lea eax, [ebp - 0x5a]
xor ecx, ecx
mov edx, 0x32
call fcn.00403224
mov byte [ebp - 0x5a], 1
lea edx, [ebp - 0x59]
mov eax, dword [0x1b3e59c]
call fcn.0049b78c
mov eax, dword [0x1b3e598]
mov edx, 0x62ff78
call fcn.00404f00
jne 0x62fab0
lea edx, [ebp - 0x54]
mov eax, dword [0x1b3e594]
call fcn.0049b78c
lea eax, [ebp - 0x18]
call fcn.0040500c
mov edx, eax
lea eax, [ebp - 0x40]
mov ecx, 0x10
call fcn.00408350
lea eax, [ebp - 0x10]
mov edx, 0x10
call fcn.00405140
lea eax, [ebp - 0x10]
call fcn.0040500c
mov ecx, eax
lea eax, [ebp - 0x5a]
mov edx, 0x2a
call fcn.0049d79c
jmp 0x62fb45
lea edx, [ebp - 0x51]
mov eax, dword [0x1b3e594]
call fcn.0049b78c
lea eax, [ebp - 0x18]
call fcn.0040500c
mov edx, eax
lea eax, [ebp - 0x3d]
mov ecx, 0x10
call fcn.00408350
lea eax, [ebp - 0x10]
mov edx, 0x10
call fcn.00405140
lea eax, [ebp - 0x10]
call fcn.0040500c
mov ecx, eax
lea eax, [ebp - 0x5a]
mov edx, 0x2d
call fcn.0049d79c
mov eax, dword [0x669224]
cmp dword [eax + 0xc], 0
je 0x62fb45
lea edx, [ebp - 0x133]
mov eax, dword [0x669224]
mov eax, dword [eax + 0xc]
call fcn.0049b78c
xor eax, eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x10]
call fcn.0040500c
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
mov cl, byte [ecx + ebx]
mov ebx, dword [ebp - 0x24]
xor cl, byte [ebp + ebx - 0x133]
mov byte [eax + edx], cl
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x10
jne 0x62fb1b
lea eax, [ebp - 0x123]
xor ecx, ecx
mov edx, 0xc8
call fcn.00403224
mov edx, 0x667df8
lea eax, [ebp - 0x123]
mov ecx, 0x50
call fcn.00408350
push 0x51
lea eax, [ebp - 0x10]
call fcn.0040500c
mov ecx, eax
lea edx, [ebp - 0x123]
lea eax, [ebp - 0xcb]
call fcn.006313dc
mov dl, 1
mov eax, dword [0x41ab08]
call fcn.00403c64
mov dword [ebp - 8], eax
mov dl, 1
mov eax, dword [0x41ab08]
call fcn.00403c64
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x123]
mov ecx, 0x60
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea eax, [ebp - 0x10]
call fcn.0040500c
push eax
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.0052d858
mov eax, dword [ebp - 8]
call fcn.00403c94
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx]
mov ecx, eax
mov edx, 0xacd8fc
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc]
call fcn.00403c94
lea ecx, [ebp - 0x144]
mov eax, 0xacd8fc
mov edx, 0x60
call fcn.0049b85c
mov edx, dword [ebp - 0x144]
mov eax, dword [0x66a050]
add eax, 0x14
call fcn.00404b38
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov eax, dword [eax + 0x314]
mov eax, dword [eax + 0x208]
mov edx, 4
call fcn.0044e464
mov eax, dword [eax + 0xc]
mov edx, 0x62ffa4
call fcn.00404f00
je 0x62fc93
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov eax, dword [eax + 0x314]
mov eax, dword [eax + 0x208]
mov edx, 4
call fcn.0044e464
mov eax, dword [eax + 0xc]
mov edx, 0x62ffb4
call fcn.00404f00
jne 0x62fca6
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62ffc4
call fcn.0052fa8c
jmp 0x62fcb7
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x62ffa4
call fcn.0053b1ac
mov eax, dword [0x669dfc]
mov eax, dword [eax]
sub eax, 1
jb 0x62fcca
je 0x62fd1c
jmp 0x62fd59
lea edx, [ebp - 0x148]
mov eax, dword [0x66a050]
mov eax, dword [eax + 0x14]
call fcn.0064fdec
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x14]
mov edx, 0x62fff4
call fcn.00404e00
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
call fcn.0052fa8c
mov edx, dword [ebp - 0x14]
mov eax, 0x63001c
call fcn.004050f8
test eax, eax
je 0x62fd16
mov byte [ebp - 1], 1
jmp 0x62fd59
mov byte [ebp - 1], 0
jmp 0x62fd59
mov eax, dword [0x66a050]
mov eax, dword [eax + 0x14]
call fcn.00629178
test al, al
je 0x62fd44
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x630028
call fcn.0052fa8c
mov byte [ebp - 1], 1
jmp 0x62fd59
mov eax, dword [0x66a00c]
mov eax, dword [eax]
mov edx, 0x630054
call fcn.0052fa8c
mov byte [ebp - 1], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x62fd93
lea eax, [ebp - 0x148]
mov edx, 4
call fcn.00404b08
lea eax, [ebp - 0x28]
call fcn.00404ae4
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00404b08
ret