Function at 0x1000cf90
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0x10013018]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0
push 0
push 3
push 0
push 1
push 0x80000000
mov edi, ecx
push eax
mov dword [esp + 0x30], edi
mov esi, edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
jne 0x1000cfe5
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.1000e581
mov esp, ebp
pop ebp
ret
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [esi + 0x3244], 0
mov dword [esp + 0x18], eax
mov eax, 0x40
je 0x1000d005
mov eax, 0x4b
mov edx, dword [esi + 0x200]
push eax
lea eax, [esi + 0x244]
push eax
lea ecx, [esi + 0x204]
push ecx
push edx
push esi
add edi, 0x548
push edi
call sym.CommsWrapper.dll_LHW__CreateRequest
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x1000cfd1
add esi, 0x1244
push esi
push ebx
call sym.CommsWrapper.dll_LHW__AddCustomHeaderRaw
mov edi, eax
add esp, 8
test edi, edi
je 0x1000d18d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x910]
test eax, eax
je 0x1000d05c
mov eax, dword [eax + 0x48]
push eax
push ebx
call sym.CommsWrapper.dll_LHW__SetProxySettings
add esp, 8
mov eax, dword [0x10013030]
cmp eax, 0x10013030
je 0x1000d09f
test byte [eax + 0x1c], 2
je 0x1000d09f
cmp byte [eax + 0x19], 5
jb 0x1000d09f
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push 0x10010240
push 0x70
push ecx
push edx
mov esi, str.LHW__InitializeByInformationClass
call fcn.10002ed0
mov eax, dword [0x10013030]
add esp, 0x10
lea ecx, [esp + 0x1c]
test ecx, ecx
je 0x1000d0f4
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], 0x14
cmp eax, 0x10013030
je 0x1000d0f4
test byte [eax + 0x1c], 2
je 0x1000d0f4
cmp byte [eax + 0x19], 5
jb 0x1000d0f4
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push 0x10010240
push 0x71
push edx
push eax
mov esi, str.LHW__InitializeByInformationClass
call fcn.10002ed0
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push 0
lea eax, [esp + 0x20]
push eax
push 2
push str.application_octet_stream
push ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
call sym.CommsWrapper.dll_LHW__SendRequestEx
add esp, 0x14
mov edi, eax
mov eax, dword [0x10013030]
cmp eax, 0x10013030
je 0x1000d156
test byte [eax + 0x1c], 2
je 0x1000d156
cmp byte [eax + 0x19], 5
jb 0x1000d156
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push 0x10010240
push 0x72
push ecx
push edx
mov esi, str.LHW__TerminateByInformationClass
call fcn.10002ed0
mov eax, dword [0x10013030]
add esp, 0x10
lea ecx, [esp + 0x1c]
test ecx, ecx
je 0x1000d18d
cmp eax, 0x10013030
je 0x1000d18d
test byte [eax + 0x1c], 2
je 0x1000d18d
cmp byte [eax + 0x19], 5
jb 0x1000d18d
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push 0x10010240
push 0x73
push edx
push eax
mov esi, str.LHW__TerminateByInformationClass
call fcn.10002ed0
add esp, 0x10
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x1000d1e6
push ebx
call sym.CommsWrapper.dll_LHW__ReceiveRequest
mov edi, eax
add esp, 4
test edi, edi
je 0x1000d1e6
lea edx, [esp + 0x1c]
push edx
call sym.CommsWrapper.dll_LHW__InitializeResponseData
add esp, 4
lea eax, [esp + 0x1c]
push eax
push ebx
call sym.CommsWrapper.dll_LHW__QueryResponseData
mov eax, 0x51eb851f
mul dword [esp + 0x2c]
shr edx, 5
xor ecx, ecx
cmp edx, 2
sete cl
lea edx, [esp + 0x24]
push edx
mov edi, ecx
call sym.CommsWrapper.dll_LHW__TerminateResponseData
add esp, 0xc
push ebx
call sym.CommsWrapper.dll_LHW__CloseRequest
mov ecx, dword [esp + 0x48]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1000e581
mov esp, ebp
pop ebp
ret