Function at 0x596750
Capabilities:
Check os version
Get token membership
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xdd0
mov dword [0x80dc64], 0
mov byte [0x80dc60], 0
mov dword [0x80dc6c], 0
mov byte [0x80dc70], 0
mov byte [0x80dc71], 0
mov byte [0x80dc68], 0
mov dword [esp + 4], 0
mov dword [esp], 0x80dc74
call fcn.007c74b0
test eax, eax
jne 0x597246
mov esi, 5
lea eax, [esp + 0x170]
mov dword [esp + 0x74], eax
mov eax, 0x84
add eax, 0x2c
xor eax, 0xaf
mov dword [esp + 0x60], eax
mov eax, 0x6f
add eax, 0xffffffa2
mov dword [esp + 0x5c], eax
mov eax, 0xf3
add eax, 0xffffff0e
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x14b]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x9cc]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x9c4]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x990]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x980]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x9a0]
lea ecx, [esp + 0x9a4]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x984]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x986]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x9a8]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x988]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x994]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x7c], ecx
jmp 0x596880
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x80]
nop dword [eax + eax]
cmp esi, 5
jne 0x597237
mov dword [esp + 0x64], eax
mov edi, 0xf
call fcn.004578e0
test eax, eax
je 0x5968ab
jmp 0x597237
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
cmp edi, 0xf
jne 0x59723e
mov dword [esp + 0x80], ebx
mov ebx, 0xc
mov esi, 0x11
call fcn.00449410
cmp eax, 0xc
je 0x596870
lea edi, [esp + 0x570]
mov esi, dword [esp + 0x80]
nop dword [eax]
cmp ebx, 0xc
jne 0x596960
call fcn.00407dc0
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.004959f0
cmp byte [esp + 0x570], 0
je 0x596980
mov dword [esp + 0x80], 9
mov ebx, 0x1a
lea esi, [esp + 0xb4]
mov dword [esp], esi
mov dword [esp + 8], 0x94
mov dword [esp + 4], 0
call fcn.007c51a0
mov dword [esp + 0xb4], 0x94
mov dword [esp], esi
call sub.KERNEL32.dll_GetVersionExA
sub esp, 4
mov esi, dword [esp + 0xb8]
cmp esi, 5
jae 0x5968e0
jmp 0x597221
cmp esi, 5
jne 0x596989
mov edi, 0xc
cmp dword [esp + 0xbc], 0
je 0x596999
mov dword [esp + 0x80], esi
jmp 0x597070
mov ebx, dword [esp + 0x7c]
jmp 0x596f10
mov dword [esp + 0x80], esi
mov edi, dword [esp + 0x74]
jmp 0x596ac0
mov ax, word [0x7dd4ec]
mov word [esp + 0x978], ax
mov eax, dword [0x7dd4e8]
mov dword [esp + 0x974], eax
lea eax, [esp + 0x970]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x974]
mov dword [esp], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x220
mov dword [esp + 8], 0x20
mov dword [esp + 4], 2
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
sub esp, 0x2c
mov dword [esp + 0x97c], eax
test eax, eax
je 0x596aac
mov dword [esp + 0x80], esi
mov dword [esp + 0x97c], 1
mov eax, dword [esp + 0x970]
lea ecx, [esp + 0x97c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.ADVAPI32.dll_CheckTokenMembership
sub esp, 0xc
mov esi, 0xffffffff
test eax, eax
jne 0x596a73
mov dword [esp + 0x97c], 0
jmp 0x596a9a
mov eax, dword [esp + 0x970]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
sub esp, 4
mov eax, dword [esp + 0x97c]
mov dword [esp + 0x6c], eax
add esi, 1
jb 0x596a80
mov esi, dword [esp + 0x3c]
jmp 0x596fe1
mov eax, 0x1c
mov dword [esp + 0x6c], 0
jmp 0x596d15
mov dword [esp], edi
mov dword [esp + 8], str.Globalhasp_fridge_user_vendor_lock
mov dword [esp + 4], 0x400
call fcn.004959f0
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x80dc78
call fcn.007ca390
mov esi, eax
test esi, esi
jne 0x597093
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca5c0
test eax, eax
jne 0x5970d5
mov eax, dword [esp + 0x78]
mov byte [eax], 0
lea esi, [esp + 0x570]
mov dword [esp], esi
call fcn.007caaa0
mov ebx, eax
test ebx, ebx
je 0x5970fa
mov dword [esp + 0x74], edi
mov dword [esp], ebx
call fcn.007cab70
mov edi, eax
test edi, edi
je 0x596d3b
mov eax, 0xffffffff
nop word [eax + eax]
add eax, 1
jb 0x596b50
jmp 0x596b90
mov dword [esp + 0x80], esi
mov eax, 7
cmp dword [esp + 0x6c], 0
mov edi, dword [esp + 0x74]
je 0x597082
cmp eax, 7
je 0x596ac0
jmp 0x597237
mov dword [esp + 0x7c], ebx
mov ebx, 0x11
mov eax, dword [edi]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x570]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x70]
mov dword [esp], esi
mov dword [esp + 8], str._s_s
mov dword [esp + 4], 0x400
call fcn.0064a2d0
lea eax, [esp + 0x9b0]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.007c5070
test eax, eax
je 0x596bf0
mov esi, dword [esp + 0x80]
jmp 0x596ec1
mov eax, dword [esp + 0x68]
test byte [eax + 1], 0x40
je 0x596d00
mov eax, dword [edi]
mov esi, dword [esp + 0x64]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.007caec0
mov ebx, 2
test eax, eax
jne 0x596cd0
mov eax, dword [esi]
mov esi, dword [esp + 0x54]
mov dword [esi], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [esp + 0x4c]
mov word [ecx], ax
shr eax, 0x10
mov ecx, dword [esp + 0x48]
mov word [ecx], ax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0x7f74f8
call fcn.0068e6c0
test eax, eax
jne 0x596cd0
xor ebx, ebx
mov eax, dword [esp + 0x58]
cmp dword [eax], 0x554d4653
jne 0x596cd0
mov esi, 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
cmp dword [ecx], eax
je 0x596cbf
jmp 0x596cd0
mov eax, dword [edi]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.004959f0
mov ebx, 3
add esi, 1
jb 0x596ca0
nop word cs:[eax + eax]
test ebx, ebx
je 0x596d00
mov edi, 0x10
mov ecx, 0xb
cmp ebx, 3
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
jne 0x596d5c
jmp 0x596f34
mov esi, dword [esp + 0x80]
nop word [eax + eax]
mov eax, 0xe
cmp eax, 0xe
jne 0x596b60
mov dword [esp + 0x80], esi
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
call fcn.007cab70
mov edi, eax
test edi, edi
jne 0x596b90
mov esi, dword [esp + 0x80]
mov edi, 0x1e
mov dword [esp], ebx
call fcn.007cabf0
mov eax, dword [esp + 0x78]
cmp byte [eax], 0
jne 0x596e3f
mov dword [esp + 0x7c], ebx
cmp edi, 0x10
je 0x596d1e
mov dword [esp + 0xa4], 0x554d4653
mov eax, dword [ebp + 8]
mov dword [esp + 0xa8], eax
call fcn.0049ae60
mov dword [esp + 0xb0], edx
mov dword [esp + 0xac], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 8], 0x7f74f8
call fcn.0068e580
test eax, eax
jne 0x5971b2
mov eax, dword [esp + 0x94]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov word [esp + 0x88], ax
shr eax, 0x10
mov word [esp + 0x8a], ax
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
movsd xmm0, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x8c]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x25
call fcn.007cb0c0
test eax, eax
jne 0x5971eb
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
lea edi, [esp + 0x570]
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.00495b00
mov dword [esp], edi
mov dword [esp + 4], 0x1ed
call fcn.007c7b10
test eax, eax
je 0x596e80
call fcn.007c4fe0
cmp eax, 0x11
jne 0x597163
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca600
test eax, eax
je 0x596f00
mov dword [esp + 0x7c], ebx
mov ebx, 1
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_unlock_the_fridge_global_vendor_lock__syserr__d__s__n
call fcn.004414c0
mov byte [0x80dc60], 1
cmp ebx, 1
je 0x59723e
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_stat_fridge_sub_directory__s__syserr__d__s__n
call fcn.004414c0
jmp 0x596d10
mov dword [esp], edi
mov dword [esp + 4], 0x400
call fcn.004966d0
mov dword [esp + 0x7c], ebx
mov dword [esp], edi
call fcn.0066d070
test eax, eax
je 0x596f80
mov ebx, edi
mov ecx, 3
cmp eax, 0x4e
jne 0x597040
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x80], esi
mov esi, 0xffffffff
cmp ecx, 3
mov edi, dword [esp + 0x74]
jne 0x596d3b
jmp 0x596f67
lea eax, [esp + 0x570]
mov dword [esp + 4], eax
mov dword [esp], str.Unsupported_filesystem_at_directory__s_n
call fcn.004414c0
add esi, 1
jb 0x596f50
mov eax, dword [esp + 0x5c]
jmp 0x596b7b
mov dword [esp + 0x80], esi
mov dword [esp], edi
mov dword [esp + 8], str..46494431_
mov dword [esp + 4], 0x400
call fcn.00495b00
mov dword [esp], edi
call fcn.00407d40
call fcn.0066d100
mov esi, 0xffffffff
test eax, eax
jne 0x597032
mov esi, 4
mov byte [0x80dc60], 0
mov dword [esp], 0x7ead74
call fcn.0066e9e0
mov dword [esp + 4], 0
mov dword [esp], 0x597260
call fcn.0066ea90
cmp esi, 1
mov esi, dword [esp + 0x80]
je 0x596b60
jmp 0x59723e
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov ebx, eax
call fcn.0066d0f0
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_create_fridge_global_lock._Ensure_to_have_access_at_the__s_directory__syserr__d__s__n
call fcn.004414c0
mov byte [0x80dc60], 1
add esi, 1
jb 0x597000
jmp 0x5968a0
mov dword [esp + 0x80], esi
mov edi, 0x19
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_initialize_fridge_at_directory__s__syserr__d__s__n
call fcn.004414c0
cmp edi, 0xc
mov edi, dword [esp + 0x74]
je 0x596ac0
jmp 0x597237
mov dword [esp], str.Failed_to_initialize_fridge._You_must_be_Administrator_in_Windows_2000_to_use_it_n
call fcn.004414c0
jmp 0x597237
mov ebx, 0xffffffff
jmp 0x5970cb
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], str.Failed_to_create_the_fridge_global_vendor_lock__error_0x_x___syserr__d__s__n
call fcn.004414c0
mov byte [0x80dc60], 1
add ebx, 1
jb 0x5970a0
jmp 0x59723e
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_lock_the_fridge_global_vendor_lock__syserr__d__s__n
call fcn.004414c0
jmp 0x597237
call sub.KERNEL32.dll_GetLastError
cmp eax, 5
lea esi, [esp + 0x570]
jne 0x59711b
mov dword [esp + 4], esi
mov dword [esp], str.Missing_permission_on_the_fridge_directory__s._Please_open_it_in_File_Explorer_to_fix_permissions_n
call fcn.004414c0
call fcn.007c4fd0
mov edi, esi
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_open_fridge_directory__s__syserr__d__s__n
call fcn.004414c0
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_enumerate_fridge_directory__s_n
call fcn.004414c0
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca600
jmp 0x597237
mov ebx, edi
mov edi, 0xffffffff
jmp 0x5971a8
call fcn.007c4fd0
mov esi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_create_fridge_directory__s__syserr__d__s__n
call fcn.004414c0
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca600
mov byte [0x80dc60], 1
add edi, 1
jb 0x597170
jmp 0x59723e
lea edi, [esp + 0x570]
mov esi, 0xffffffff
jmp 0x5971e4
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_decrypt_fridge_directory__s_n
call fcn.004414c0
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca600
mov byte [0x80dc60], 1
add esi, 1
jb 0x5971c0
jmp 0x59723e
mov dword [esp + 0x80], 8
lea eax, [esp + 0x570]
mov dword [esp + 4], eax
mov dword [esp], str.Failed_to_identify_fridge_directory__s_n
call fcn.004414c0
mov eax, dword [0x80dc78]
mov dword [esp], eax
call fcn.007ca600
mov byte [0x80dc60], 1
cmp dword [esp + 0x80], 8
je 0x59723e
mov dword [esp], str.Failed_to_initialize_fridge._You_need_at_least_Windows_XP_n
call fcn.004414c0
mov byte [0x80dc60], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], str.Failed_to_create_fridge_mutex_n
call fcn.00441610
call fcn.0044c0d0
int3