Function at 0x2e00a4fd
Capabilities:
Check http status code
Get session user name
Impersonate user
Initialize winhttp library
Prepare http request
Read file on windows
Read http header
Receive http response
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3c4c
call fcn.2e0142c9
mov eax, dword [0x2e021014]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
or dword [ebp - 0x3b8c], 0xffffffff
mov dword [ebp - 0x3b90], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x3b78], eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
mov dword [ebp - 0x3b68], eax
mov eax, dword [ebp + 0x24]
xor ebx, ebx
push 8
mov dword [ebp - 0x3b9c], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x3c10]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3b64], ebx
mov dword [ebp - 0x3bd0], ebx
mov dword [ebp - 0x3bc4], ebx
mov dword [ebp - 0x3b70], ebx
mov dword [ebp - 0x3b6c], ebx
mov dword [ebp - 0x3b5c], ebx
mov dword [ebp - 0x3b74], ebx
mov dword [ebp - 0x3b94], ebx
mov dword [ebp - 0x3bd8], 0x100
mov dword [ebp - 0x3c10], 0x20
mov dword [ebp - 0x3c0c], 1
call fcn.2e007c8a
mov eax, dword [0x2e021eb8]
mov ecx, dword [eax]
lea edx, [ebp - 0x3b64]
push edx
push 0x2e001c88
push eax
call dword [ecx + 0x20]
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
mov esi, 0x25f8
push esi
lea eax, [ebp - 0x3b54]
push ebx
push eax
call fcn.2e0140ad
mov edi, dword [ebp - 0x3b9c]
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
add esp, 0xc
lea edx, [ebp - 0x3b54]
push edx
push edi
push ebx
push eax
mov dword [ebp - 0x3b54], esi
mov dword [ebp - 0x3b50], 0x4000000
call dword [ecx + 0x1c]
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
je 0x2e00a62a
mov esi, 0x80004004
jmp 0x2e00b18a
push dword [ebp - 0x3b90]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov edi, eax
lea eax, [ebp - 0x3bd8]
push eax
lea eax, [ebp - 0x104]
push eax
mov dword [ebp - 0x3ba8], edi
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea eax, [ebp - 0x104]
mov dword [ebp - 0x3c08], eax
lea eax, [ebp - 0x3c10]
push eax
push dword [ebp - 0x3b90]
call dword [sym.imp.USERENV.dll_LoadUserProfileA]
test eax, eax
je 0x2e00a67f
mov dword [ebp - 0x3bc4], 1
push dword [ebp - 0x3b90]
push ebx
call dword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
jne 0x2e00a6b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a6aa
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov dword [ebp - 0x3bd0], 1
cmp edi, 2
je 0x2e00ad8f
cmp edi, 3
je 0x2e00ad8f
cmp edi, 4
jne 0x2e00ad85
push 0x38
lea eax, [ebp - 0x3c48]
push ebx
push eax
mov dword [ebp - 0x3b88], 0x824
mov byte [ebp - 0x3b5d], bl
call fcn.2e0140ad
lea eax, [ebp - 0x514]
mov dword [ebp - 0x3c3c], eax
mov eax, 0x104
add esp, 0xc
mov dword [ebp - 0x3c38], eax
mov dword [ebp - 0x3c1c], eax
lea eax, [ebp - 0x3c4c]
push eax
mov edi, 0x80000000
push edi
push ebx
lea eax, [ebp - 0x25a4]
lea ecx, [ebp - 0x30c]
push eax
mov dword [ebp - 0x3c4c], 0x3c
mov dword [ebp - 0x3c20], ecx
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x2e00a769
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a763
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
lea eax, [ebp - 0x3b88]
push eax
lea eax, [ebp - 0x155c]
push eax
push edi
lea eax, [ebp - 0x3c4c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCreateUrl]
test eax, eax
jne 0x2e00a7a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a7a3
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
push ebx
push ebx
push ebx
push ebx
push 0x2e001adc
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x3b70], eax
cmp eax, ebx
jne 0x2e00a7e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a7dc
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov dword [ebp - 0x3bb0], ebx
mov dword [ebp - 0x3b9c], ebx
mov dword [ebp - 0x3bd4], 4
mov dword [ebp - 0x3bac], ebx
cmp dword [ebp - 0x3b5c], ebx
je 0x2e00a812
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x3b6c], ebx
je 0x2e00a826
push dword [ebp - 0x3b6c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push ebx
push ebx
lea eax, [ebp - 0x514]
push eax
push dword [ebp - 0x3b70]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebp - 0x3b6c], eax
cmp eax, ebx
jne 0x2e00a865
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a85f
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x30c]
push eax
push 0x2e001d18
push dword [ebp - 0x3b6c]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [ebp - 0x3b5c], eax
cmp eax, ebx
jne 0x2e00a8ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00a8a5
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov dword [ebp - 0x3b98], ebx
xor eax, eax
mov dword [ebp - 0x3b84], ebx
lea edi, [ebp - 0x3b80]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x3bc0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebp - 0x3bf0], eax
mov dword [ebp - 0x3bdc], eax
mov eax, dword [ebp - 0x3b98]
sub eax, ebx
mov dword [ebp - 0x3bec], 3
mov dword [ebp - 0x3be8], ebx
mov dword [ebp - 0x3be4], ebx
mov dword [ebp - 0x3be0], ebx
mov dword [ebp - 0x3b58], ebx
je 0x2e00a9b0
dec eax
je 0x2e00a928
dec eax
jne 0x2e00aa2c
inc eax
mov dword [ebp - 0x3b84], eax
mov dword [ebp - 0x3b58], eax
jmp 0x2e00aa15
lea eax, [ebp - 0x3bc0]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x2e00aa2c
cmp dword [ebp - 0x3bb8], ebx
je 0x2e00aa2c
mov edi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push 0x208
push ebx
call edi
push 0x208
push ebx
mov dword [ebp - 0x3b80], eax
call edi
mov dword [ebp - 0x3b7c], eax
cmp dword [ebp - 0x3b80], ebx
je 0x2e00aa2c
cmp eax, ebx
je 0x2e00aa2c
push 0xffffffffffffffff
push dword [ebp - 0x3bb8]
mov dword [ebp - 0x3b84], 3
push 0x104
push dword [ebp - 0x3b80]
call fcn.2e014127
add esp, 0x10
mov dword [ebp - 0x3b58], 1
jmp 0x2e00aa15
lea eax, [ebp - 0x3bc0]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
test eax, eax
je 0x2e00aa2c
cmp dword [ebp - 0x3bc0], ebx
je 0x2e00aa2c
mov eax, dword [ebp - 0x3bbc]
cmp eax, ebx
je 0x2e00a9e0
or dword [ebp - 0x3bf0], 2
mov dword [ebp - 0x3be8], eax
lea eax, [ebp - 0x3b84]
push eax
lea eax, [ebp - 0x3bf0]
push eax
lea eax, [ebp - 0x155c]
push eax
push dword [ebp - 0x3b70]
mov dword [ebp - 0x3bdc], 1
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
mov dword [ebp - 0x3b58], eax
cmp eax, ebx
je 0x2e00aa2c
push 0xc
lea eax, [ebp - 0x3b84]
push eax
push 0x26
push dword [ebp - 0x3b70]
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x3bbc], ebx
je 0x2e00aa48
push dword [ebp - 0x3bbc]
call edi
mov dword [ebp - 0x3bbc], ebx
cmp dword [ebp - 0x3bb8], ebx
je 0x2e00aa5e
push dword [ebp - 0x3bb8]
call edi
mov dword [ebp - 0x3bb8], ebx
cmp dword [ebp - 0x3bb4], ebx
je 0x2e00aa74
push dword [ebp - 0x3bb4]
call edi
mov dword [ebp - 0x3bb4], ebx
cmp dword [ebp - 0x3b80], ebx
je 0x2e00aa8a
push dword [ebp - 0x3b80]
call edi
mov dword [ebp - 0x3b80], ebx
cmp dword [ebp - 0x3b7c], ebx
je 0x2e00aaa0
push dword [ebp - 0x3b7c]
call edi
mov dword [ebp - 0x3b7c], ebx
cmp dword [ebp - 0x3b58], ebx
je 0x2e00aabe
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x2e00aad3
inc dword [ebp - 0x3b98]
cmp dword [ebp - 0x3b98], 3
jl 0x2e00a8b1
jmp 0x2e00aada
mov byte [ebp - 0x3b5d], 1
cmp byte [ebp - 0x3b5d], bl
jne 0x2e00aaea
cmp esi, ebx
jl 0x2e00b18a
push ebx
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x2e00ab03
cmp esi, ebx
jl 0x2e00b18a
lea eax, [ebp - 0x3bac]
push eax
lea eax, [ebp - 0x3bd4]
push eax
lea eax, [ebp - 0x3b9c]
push eax
push ebx
push 0x20000013
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x2e00ab4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00ab48
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov ecx, dword [ebp - 0x3b9c]
mov eax, 0x194
cmp ecx, eax
ja 0x2e00ac75
adc al, 1
add byte [eax], al
je 0x2e00acc6
cmp ecx, 0xc8
je 0x2e00ac6d
cmp ecx, 0x12c
jbe 0x2e00acd0
cmp ecx, 0x12f
ja 0x2e00acac
lea eax, [ebp - 0x3bac]
push eax
lea eax, [ebp - 0x3b88]
push eax
lea eax, [ebp - 0x155c]
push eax
push ebx
push 0x33
push dword [ebp - 0x3b5c]
mov dword [ebp - 0x3b88], 0x824
mov dword [ebp - 0x3bac], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x2e00abe3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00abdd
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
lea eax, [ebp - 0x3c4c]
push eax
push ebx
push ebx
lea eax, [ebp - 0x155c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x2e00ac1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00ac17
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
lea eax, [ebp - 0x3b88]
push eax
lea eax, [ebp - 0x155c]
push eax
push 0x80000000
lea eax, [ebp - 0x3c4c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCreateUrl]
test eax, eax
jne 0x2e00ac61
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00ac5b
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov dword [ebp - 0x3bb0], 1
jmp 0x2e00ac9a
mov dword [ebp - 0x3bb0], ebx
jmp 0x2e00ac9a
cmp ecx, 0x198
je 0x2e00ac95
cmp ecx, 0x1f5
jbe 0x2e00acd0
cmp ecx, 0x1f7
jbe 0x2e00acc6
cmp ecx, 0x1f8
jne 0x2e00acd0
mov esi, 0x80070102
cmp esi, ebx
jne 0x2e00acda
cmp dword [ebp - 0x3bb0], ebx
jne 0x2e00a7e8
jmp 0x2e00ace0
cmp ecx, 0x191
je 0x2e00acbc
cmp ecx, 0x193
jne 0x2e00acd0
mov esi, 0x80070005
jmp 0x2e00b18a
mov esi, 0x80070002
jmp 0x2e00b18a
mov esi, 0x8000ffff
jmp 0x2e00b18a
jl 0x2e00b18a
lea eax, [ebp - 0x3ba4]
push eax
push dword [ebp - 0x3b5c]
call fcn.2e013c79
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x2e00ad30
mov eax, dword [ecx + 4]
cmp dword [ebp - 0x3ba0], eax
jb 0x2e00ad49
jne 0x2e00ad1a
mov eax, dword [ebp - 0x3ba4]
cmp eax, dword [ecx]
jbe 0x2e00ad49
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
push ebx
push ebx
push ebx
push ebx
push eax
call dword [ecx + 0x50]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
lea eax, [ebp - 0x3bcc]
push eax
push dword [ebp - 0x3b5c]
call fcn.2e013c20
mov esi, eax
jmp 0x2e00ae9a
xor edi, edi
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b188
mov eax, dword [ebp - 0x3b68]
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push dword [eax + edi*4]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc edi
cmp edi, dword [ebp + 0x20]
jb 0x2e00ad54
jmp 0x2e00b188
mov esi, 0x8007000f
jmp 0x2e00b18a
mov eax, 0x8000080
cmp edi, 2
jne 0x2e00ada1
cmp dword [0x2e021e9c], ebx
je 0x2e00adae
cmp edi, 3
jne 0x2e00adb3
cmp dword [0x2e021ea4], ebx
jne 0x2e00adb3
mov eax, 0x28000080
push ebx
push eax
push 3
push ebx
push 1
push 0x80000000
lea eax, [ebp - 0x25a4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x3b8c], edi
cmp edi, 0xffffffff
jne 0x2e00adf9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00adf3
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
lea eax, [ebp - 0x3ba4]
push eax
push edi
call fcn.2e0111f2
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x2e00ae4c
mov eax, dword [ecx + 4]
cmp dword [ebp - 0x3ba0], eax
jb 0x2e00af6b
jne 0x2e00ae36
mov eax, dword [ebp - 0x3ba4]
cmp eax, dword [ecx]
jbe 0x2e00af6b
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
push ebx
push ebx
push ebx
push ebx
push eax
call dword [ecx + 0x50]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
lea eax, [ebp - 0x3bcc]
push eax
push edi
call fcn.2e010faa
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
cmp dword [ebp + 0x14], ebx
jl 0x2e00aea2
jg 0x2e00ae6f
cmp dword [ebp + 0x10], ebx
jbe 0x2e00aea2
push ebx
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x2e00aea2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00ae9c
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
xor edi, edi
cmp dword [ebp + 0x20], ebx
jbe 0x2e00aee1
mov eax, dword [ebp - 0x3b68]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax]
lea edx, [ebp - 0x3ba4]
push edx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x3bc8]
push dword [ebp - 0x3bcc]
push eax
call dword [ecx + 0x24]
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc edi
cmp edi, dword [ebp + 0x20]
jb 0x2e00aea9
cmp dword [ebp - 0x3bcc], ebx
jne 0x2e00afa7
cmp dword [ebp - 0x3bc8], ebx
jne 0x2e00afa7
mov dword [ebp - 0x3b58], ebx
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b188
mov eax, dword [ebp - 0x3b68]
mov ecx, dword [ebp - 0x3b58]
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
lea edi, [eax + ecx*4]
push dword [edi]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 2
push dword [edi]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc dword [ebp - 0x3b58]
mov eax, dword [ebp - 0x3b58]
cmp eax, dword [ebp + 0x20]
jb 0x2e00af08
jmp 0x2e00b188
xor edi, edi
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b188
mov eax, dword [ebp - 0x3b68]
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 3
push dword [eax + edi*4]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc edi
cmp edi, dword [ebp + 0x20]
jb 0x2e00af76
jmp 0x2e00b188
mov eax, dword [ebp - 0x3ba8]
dec eax
dec eax
je 0x2e00afd7
dec eax
je 0x2e00afcf
dec eax
je 0x2e00afbe
mov edi, 0x10000
jmp 0x2e00afeb
mov ecx, dword [0x2e021eb0]
mov eax, dword [0x2e021e94]
lea edi, [ecx + eax - 1]
jmp 0x2e00afe6
mov ecx, dword [0x2e021ea8]
jmp 0x2e00afc4
mov eax, dword [0x2e021e94]
mov ecx, dword [0x2e021ea0]
lea edi, [ecx + eax - 1]
dec eax
not eax
and edi, eax
push 4
push 0x3000
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x3b74], eax
cmp eax, ebx
jne 0x2e00b14f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00b022
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
jmp 0x2e00b14f
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jne 0x2e00b159
cmp dword [ebp - 0x3ba8], 2
je 0x2e00b06f
cmp dword [ebp - 0x3ba8], 3
je 0x2e00b06f
lea eax, [ebp - 0x3b94]
push eax
push edi
push dword [ebp - 0x3b74]
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
jmp 0x2e00b08a
push ebx
lea eax, [ebp - 0x3b94]
push eax
push edi
push dword [ebp - 0x3b74]
push dword [ebp - 0x3b8c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x2e00b0ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, ebx
jle 0x2e00b0a8
and esi, 0xffff
or esi, 0x80070000
cmp esi, ebx
jl 0x2e00b18a
mov dword [ebp - 0x3b58], ebx
cmp dword [ebp - 0x3b94], ebx
je 0x2e00b10e
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b14f
push dword [ebp - 0x3b94]
mov eax, dword [ebp - 0x3b68]
push dword [ebp - 0x3b74]
mov ecx, dword [ebp - 0x3b58]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push dword [eax + ecx*4]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc dword [ebp - 0x3b58]
mov eax, dword [ebp - 0x3b58]
cmp eax, dword [ebp + 0x20]
jb 0x2e00b0c5
jmp 0x2e00b14f
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b14c
mov eax, dword [ebp - 0x3b68]
mov ecx, dword [ebp - 0x3b58]
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 2
push dword [eax + ecx*4]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc dword [ebp - 0x3b58]
mov eax, dword [ebp - 0x3b58]
cmp eax, dword [ebp + 0x20]
jb 0x2e00b113
xor esi, esi
inc esi
cmp esi, ebx
je 0x2e00b02d
jmp 0x2e00b188
xor edi, edi
cmp dword [ebp + 0x20], ebx
jbe 0x2e00b188
mov eax, dword [ebp - 0x3b68]
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push dword [eax + edi*4]
push dword [ebp - 0x3b64]
call fcn.2e00fe3b
mov esi, eax
cmp esi, ebx
jl 0x2e00b18a
inc edi
cmp edi, dword [ebp + 0x20]
jb 0x2e00b160
xor esi, esi
mov eax, dword [ebp - 0x3b78]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x64]
cmp dword [ebp - 0x3b74], ebx
je 0x2e00b1b0
push 0x8000
push ebx
push dword [ebp - 0x3b74]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
cmp dword [ebp - 0x3b5c], ebx
je 0x2e00b1c4
push dword [ebp - 0x3b5c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x3b6c], ebx
je 0x2e00b1d8
push dword [ebp - 0x3b6c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x3b70], ebx
je 0x2e00b1ec
push dword [ebp - 0x3b70]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x3b8c], 0xffffffff
je 0x2e00b201
push dword [ebp - 0x3b8c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3bd0], ebx
je 0x2e00b241
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_SetThreadToken]
test eax, eax
jne 0x2e00b241
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x2e00b229
and eax, 0xffff
or eax, 0x80070000
push ebx
push ebx
push ebx
push ebx
mov esi, eax
push 0xc0000015
push esi
call fcn.2e01308f
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp - 0x3bc4], ebx
je 0x2e00b25b
push dword [ebp - 0x3bf4]
push dword [ebp - 0x3b90]
call dword [sym.imp.USERENV.dll_UnloadUserProfile]
mov eax, dword [ebp - 0x3b64]
cmp eax, ebx
je 0x2e00b26b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.2e013f7c
leave
ret 0x20