Function at 0x42cd60
Capabilities:
Encode data using xor
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x60aca0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
xor edi, edi
push edi
push edi
push 3
push edi
push 3
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x130], eax
cmp eax, 0xffffffff
je 0x42d3cf
push ebx
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [esi + esi]
push eax
call fcn.004e21fe
mov ebx, eax
add esp, 4
mov dword [ebp - 0x134], ebx
test ebx, ebx
je 0x42d0be
push edi
lea eax, [ebp - 0x138]
push eax
push esi
push ebx
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42d0be
cmp esi, dword [ebp - 0x138]
jne 0x42d0be
mov byte [esi + ebx], 0
mov edi, ebx
mov al, byte [ebx]
test al, al
je 0x42ce5b
nop dword [eax]
cmp al, 0xa
je 0x42ce2f
cmp al, 0xd
jne 0x42ce53
inc edi
cmp byte [edi], 0xa
je 0x42ce53
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ce13
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [edi + 1]
push edi
push eax
call fcn.004de9c0
mov byte [edi], 0xa
jmp 0x42ce50
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ce34
sub ecx, edx
lea esi, [edi + 1]
lea eax, [ecx + 1]
push eax
push edi
push esi
call fcn.004de9c0
mov byte [edi], 0xd
mov edi, esi
add esp, 0xc
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42ce00
push str._License_
push ebx
call fcn.004de470
add esp, 8
test eax, eax
je 0x42d0bc
cmp byte [eax + 9], 0x3d
jne 0x42d0bc
mov byte [eax + 9], 0
lea esi, [ebp - 0x108]
add eax, 0xa
mov edi, 0x104
push str._Product_
push ebx
mov dword [ebp - 0x148], eax
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x42ceb8
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42d0d2
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42cea7
mov al, byte [ecx]
test al, al
je 0x42cedc
cmp al, 0xd
je 0x42cedc
cmp edi, 1
jle 0x42cedc
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42cec8
lea eax, [ebp - 0x108]
mov byte [esi], 0
push 0x6ef2fa
push eax
call fcn.004e2ae3
add esp, 8
test eax, eax
jne 0x42d0bc
push str._UsrName_
push ebx
mov edi, 0x104
mov esi, 0x6f0ee0
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42cea7
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42cea7
mov al, byte [ecx]
test al, al
je 0x42cf44
nop dword [eax]
cmp al, 0xd
je 0x42cf44
cmp edi, 1
jle 0x42cf44
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42cf30
push str._LicType_
mov byte [esi], 0
mov edi, 0x104
push ebx
mov esi, 0x6f0fe8
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42cea7
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42cea7
mov al, byte [ecx]
test al, al
je 0x42cf94
nop dword [eax]
cmp al, 0xd
je 0x42cf94
cmp edi, 1
jle 0x42cf94
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42cf80
push str._NumUser_
mov byte [esi], 0
mov edi, 0x104
push ebx
lea esi, [ebp - 0x108]
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42cea7
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42cea7
mov al, byte [ecx]
test al, al
je 0x42cfe4
nop
cmp al, 0xd
je 0x42cfe4
cmp edi, 1
jle 0x42cfe4
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42cfd0
mov byte [esi], 0
cmp byte [ebp - 0x108], 0x31
jne 0x42cff9
cmp byte [ebp - 0x107], 0
je 0x42d03a
mov esi, 0x6f0fe8
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42d001
lea eax, [ebp - 0x108]
sub esi, ecx
push eax
push 3
push 0xf006
mov ecx, 0x6f0820
call fcn.0042ca60
push eax
mov eax, 0x104
sub eax, esi
push eax
lea eax, [esi + 0x6f0fe8]
push eax
call fcn.004061a0
add esp, 0x10
push str._Version_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42d0f0
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42d0f0
mov al, byte [ecx]
test al, al
je 0x42d085
cmp al, 0xd
je 0x42d085
cmp edi, 1
jle 0x42d085
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42d071
mov byte [esi], 0
cmp byte [ebp - 0x108], 0
je 0x42d0f0
push 0x6073b4
push 0x6073b0
lea eax, [ebp - 0x108]
push str._d._d
push eax
call fcn.004061f0
mov eax, dword [0x6073b0]
add esp, 0x10
cmp eax, dword [0x6ef400]
jge 0x42d0f5
xor edi, edi
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x42d3bc
xor esi, esi
push ebx
call fcn.004e21e3
add esp, 4
mov eax, esi
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dcc5c
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6073b0]
cmp eax, 0x270f
jne 0x42d122
push 4
push 0xf006
mov ecx, 0x6f0820
call fcn.0042ca60
push eax
push 0x104
push 0x6f0dd8
call fcn.004e2189
add esp, 0xc
jmp 0x42d13a
push eax
push str._d.x
push 0x104
push 0x6f0dd8
call fcn.004061a0
add esp, 0x10
push str._ExpDate_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42d231
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42d231
mov al, byte [ecx]
test al, al
je 0x42d185
cmp al, 0xd
je 0x42d185
cmp edi, 1
jle 0x42d185
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42d171
lea eax, [ebp - 0x144]
mov byte [esi], 0
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x108]
push str._d._d._d
push eax
call fcn.004061f0
add esp, 0x14
cmp eax, 3
jne 0x42d231
mov eax, dword [ebp - 0x13c]
xorps xmm0, xmm0
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x140]
dec eax
movlpd qword [ebp - 0x12c], xmm0
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x144]
add eax, 0x64
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x12c]
push eax
movlpd qword [ebp - 0x114], xmm0
mov dword [ebp - 0x10c], 0
call fcn.004f0170
push 0
mov edi, eax
mov esi, edx
call fcn.004e7196
add esp, 8
cmp esi, edx
jl 0x42d0bc
jg 0x42d231
cmp edi, eax
jb 0x42d0bc
push str._OrderID_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.004de470
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x42cea7
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x42cea7
mov al, byte [ecx]
test al, al
je 0x42d27c
cmp al, 0xd
je 0x42d27c
cmp edi, 1
jle 0x42d27c
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x42d268
lea edi, [ebp - 0x108]
mov byte [esi], 0
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x42d288
sub edi, ecx
xor ecx, ecx
mov dword [ebp - 0x138], edi
test edi, edi
jle 0x42d2af
nop dword [eax]
lea eax, [ecx + 0x64]
xor byte [ebp + ecx - 0x108], al
inc ecx
cmp ecx, edi
jl 0x42d2a0
xor ebx, ebx
cmp byte [str.QUWWYZXY], bl
je 0x42d33c
mov ecx, str.QUWWYZXY
mov esi, edi
lea edx, [ebp - 0x108]
sub esi, 4
jb 0x42d2e1
nop
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x42d2ea
add edx, 4
add ecx, 4
sub esi, 4
jae 0x42d2d0
cmp esi, 0xfffffffc
je 0x42d3a5
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42d327
cmp esi, 0xfffffffd
je 0x42d3a5
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x42d327
cmp esi, 0xfffffffe
je 0x42d3a5
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x42d327
cmp esi, 0xffffffff
je 0x42d3a5
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42d3a5
inc ebx
mov eax, ebx
shl eax, 5
cmp byte [eax + str.QUWWYZXY], 0
lea ecx, [eax + str.QUWWYZXY]
jne 0x42d2c2
mov ebx, dword [ebp - 0x134]
xor esi, esi
cmp dword [0x6073b8], esi
jle 0x42d37a
xor edi, edi
nop
mov ecx, dword [0x6073bc]
add ecx, edi
push 0x104
lea eax, [ecx + 0x40]
push eax
push ecx
push ebx
call fcn.0042e080
inc esi
add esp, 0x10
add edi, 0x144
cmp esi, dword [0x6073b8]
jl 0x42d350
push dword [ebp - 0x148]
push ebx
call fcn.0042e940
add esp, 8
test eax, eax
jne 0x42d0bc
push dword [ebp - 0x130]
lea esi, [eax + 1]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42d0d4
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x134]
jmp 0x42d0d2
pop esi
pop ebx
mov eax, edi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dcc5c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, edi
xor ecx, ebp
pop edi
call fcn.004dcc5c
mov esp, ebp
pop ebp
ret