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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x572c40]
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 connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x130], eax
cmp eax, 0xffffffff
je 0x43b6bf
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.00484f13
mov ebx, eax
add esp, 4
mov dword [ebp - 0x134], ebx
test ebx, ebx
je 0x43b3ae
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 0x43b3ae
cmp esi, dword [ebp - 0x138]
jne 0x43b3ae
mov byte [esi + ebx], 0
mov edi, ebx
mov al, byte [ebx]
test al, al
je 0x43b14b
nop dword [eax]
cmp al, 0xa
je 0x43b11f
cmp al, 0xd
jne 0x43b143
inc edi
cmp byte [edi], 0xa
je 0x43b143
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b103
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [edi + 1]
push edi
push eax
call fcn.00482d10
mov byte [edi], 0xa
jmp 0x43b140
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b124
sub ecx, edx
lea esi, [edi + 1]
lea eax, [ecx + 1]
push eax
push edi
push esi
call fcn.00482d10
mov byte [edi], 0xd
mov edi, esi
add esp, 0xc
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43b0f0
push str._License_
push ebx
call fcn.00482680
add esp, 8
test eax, eax
je 0x43b3ac
cmp byte [eax + 9], 0x3d
jne 0x43b3ac
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.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x43b1a8
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x43b3c2
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b197
mov al, byte [ecx]
test al, al
je 0x43b1cc
cmp al, 0xd
je 0x43b1cc
cmp edi, 1
jle 0x43b1cc
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b1b8
lea eax, [ebp - 0x108]
mov byte [esi], 0
push 0xb64292
push eax
call fcn.00484da1
add esp, 8
test eax, eax
jne 0x43b3ac
push str._UsrName_
push ebx
mov edi, 0x104
mov esi, 0xb65c50
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b197
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b197
mov al, byte [ecx]
test al, al
je 0x43b234
nop dword [eax]
cmp al, 0xd
je 0x43b234
cmp edi, 1
jle 0x43b234
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b220
push str._LicType_
mov byte [esi], 0
mov edi, 0x104
push ebx
mov esi, 0xb65d58
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b197
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b197
mov al, byte [ecx]
test al, al
je 0x43b284
nop dword [eax]
cmp al, 0xd
je 0x43b284
cmp edi, 1
jle 0x43b284
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b270
push str._NumUser_
mov byte [esi], 0
mov edi, 0x104
push ebx
lea esi, [ebp - 0x108]
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b197
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b197
mov al, byte [ecx]
test al, al
je 0x43b2d4
nop
cmp al, 0xd
je 0x43b2d4
cmp edi, 1
jle 0x43b2d4
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b2c0
mov byte [esi], 0
cmp byte [ebp - 0x108], 0x31
jne 0x43b2e9
cmp byte [ebp - 0x107], 0
je 0x43b32a
mov esi, 0xb65d58
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x43b2f1
lea eax, [ebp - 0x108]
sub esi, ecx
push eax
push 3
push 0xf006
mov ecx, 0xb657b8
call fcn.00427790
push eax
mov eax, 0x104
sub eax, esi
push eax
lea eax, [esi + 0xb65d58]
push eax
call fcn.00407090
add esp, 0x10
push str._Version_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b3e0
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b3e0
mov al, byte [ecx]
test al, al
je 0x43b375
cmp al, 0xd
je 0x43b375
cmp edi, 1
jle 0x43b375
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b361
mov byte [esi], 0
cmp byte [ebp - 0x108], 0
je 0x43b3e0
push 0x56faa4
push 0x56faa0
lea eax, [ebp - 0x108]
push str._d._d
push eax
call fcn.00434440
mov eax, dword [0x56faa0]
add esp, 0x10
cmp eax, dword [0xb64398]
jge 0x43b3e5
xor edi, edi
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x43b6ac
xor esi, esi
push ebx
call fcn.00484ef8
add esp, 4
mov eax, esi
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret
mov eax, dword [0x56faa0]
cmp eax, 0x270f
jne 0x43b412
push 4
push 0xf006
mov ecx, 0xb657b8
call fcn.00427790
push eax
push 0x104
push 0xb65b48
call fcn.0048dd93
add esp, 0xc
jmp 0x43b42a
push eax
push str._d.x
push 0x104
push 0xb65b48
call fcn.00407090
add esp, 0x10
push str._ExpDate_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b521
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b521
mov al, byte [ecx]
test al, al
je 0x43b475
cmp al, 0xd
je 0x43b475
cmp edi, 1
jle 0x43b475
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b461
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.00434440
add esp, 0x14
cmp eax, 3
jne 0x43b521
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.00491b58
push 0
mov edi, eax
mov esi, edx
call fcn.0048e759
add esp, 8
cmp esi, edx
jl 0x43b3ac
jg 0x43b521
cmp edi, eax
jb 0x43b3ac
push str._OrderID_
push ebx
mov edi, 0x104
lea esi, [ebp - 0x108]
call fcn.00482680
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x43b197
mov al, byte [ecx + 9]
add ecx, 0xa
cmp al, 0x3d
jne 0x43b197
mov al, byte [ecx]
test al, al
je 0x43b56c
cmp al, 0xd
je 0x43b56c
cmp edi, 1
jle 0x43b56c
inc ecx
mov byte [esi], al
inc esi
dec edi
mov al, byte [ecx]
test al, al
jne 0x43b558
lea edi, [ebp - 0x108]
mov byte [esi], 0
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x43b578
sub edi, ecx
xor ecx, ecx
mov dword [ebp - 0x138], edi
test edi, edi
jle 0x43b59f
nop dword [eax]
lea eax, [ecx + 0x64]
xor byte [ebp + ecx - 0x108], al
inc ecx
cmp ecx, edi
jl 0x43b590
xor ebx, ebx
cmp byte [str.QVV___], bl
je 0x43b62c
mov ecx, str.QVV___
mov esi, edi
lea edx, [ebp - 0x108]
sub esi, 4
jb 0x43b5d1
nop
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x43b5da
add edx, 4
add ecx, 4
sub esi, 4
jae 0x43b5c0
cmp esi, 0xfffffffc
je 0x43b695
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x43b617
cmp esi, 0xfffffffd
je 0x43b695
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x43b617
cmp esi, 0xfffffffe
je 0x43b695
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x43b617
cmp esi, 0xffffffff
je 0x43b695
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x43b695
inc ebx
mov eax, ebx
shl eax, 5
cmp byte [eax + str.QVV___], 0
lea ecx, [eax + str.QVV___]
jne 0x43b5b2
mov ebx, dword [ebp - 0x134]
xor esi, esi
cmp dword [0x56faa8], esi
jle 0x43b66a
xor edi, edi
nop
mov ecx, dword [0x56faac]
add ecx, edi
push 0x104
lea eax, [ecx + 0x40]
push eax
push ecx
push ebx
call fcn.0043c350
inc esi
add esp, 0x10
add edi, 0x144
cmp esi, dword [0x56faa8]
jl 0x43b640
push dword [ebp - 0x148]
push ebx
call fcn.0043cab0
add esp, 8
test eax, eax
jne 0x43b3ac
push dword [ebp - 0x130]
lea esi, [eax + 1]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x43b3c4
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x134]
jmp 0x43b3c2
pop esi
pop ebx
mov eax, edi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, edi
xor ecx, ebp
pop edi
call fcn.00481761
mov esp, ebp
pop ebp
ret