Function at 0x49a240
Capabilities:
Get file size

Disassembly:
push 0xffffffffffffffff
push 0x5a6cd0
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f13cc]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ebx
push ebx
push 0x80
push 3
push ebx
push 1
mov byte [esp + 0x4c], 1
mov edi, dword [esp + 0x54]
push closesocket
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
or ebp, 0xffffffff
cmp eax, ebp
jne 0x49a2ef
call fcn.004129d0
cmp eax, ebx
jl 0x49a30b
lea ecx, [esp + 0x28]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, ebp
mov dword [esp + 0x24], esi
jne 0x49a2fb
call fcn.004129d0
test eax, eax
jge 0x49a2f7
test ebx, ebx
je 0x49a2cb
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi - 0x10]
mov dword [esp + 0x38], ebp
lea edx, [eax + 0xc]
lock xadd dword [edx], ebp
dec ebp
test ebp, ebp
jg 0x49a328
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x49a55b
mov ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x49a2a1
mov esi, dword [esp + 0x24]
cmp esi, 0x5c
jae 0x49a32f
test ebx, ebx
je 0x49a30b
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi - 0x10]
mov dword [esp + 0x38], ebp
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebp
dec ebp
test ebp, ebp
jg 0x49a328
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x49a55b
push esi
call fcn.0057740a
mov edi, eax
add esp, 4
mov ecx, edi
lea edx, [esp + 0x14]
mov dword [esp + 0x20], edi
call fcn.0041ae30
cmp dword [edi], 0x7d1ea609
je 0x49a36c
test ebx, ebx
je 0x49a35c
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x40]
call fcn.00404510
xor eax, eax
jmp 0x49a55b
mov ebx, dword [edi + 0x2c]
mov esi, dword [edi + 0x30]
add ebx, edi
shr esi, 1
mov ecx, 0x5fcd20
lea edi, [esp + 0x18]
call fcn.00403e50
mov byte [esp + 0x38], 2
mov ebp, dword [esp + 0x18]
cmp dword [ebp - 0xc], 0
jl 0x49a3b0
push str.Name:
push ebp
call fcn.0057880c
add esp, 8
test eax, eax
je 0x49a3b0
sub eax, ebp
sar eax, 1
mov edi, eax
cmp edi, 0xffffffff
jne 0x49a3db
lea esi, [esp + 0x14]
call fcn.00410620
lea ecx, [esp + 0x18]
call fcn.00404510
lea esi, [esp + 0x14]
call fcn.00410620
lea ecx, [esp + 0x40]
call fcn.00404510
xor eax, eax
jmp 0x49a55b
mov ecx, edi
mov edx, 0x5bdf38
lea esi, [esp + 0x18]
call fcn.0040f8c0
cmp eax, 0xffffffff
je 0x49a3b0
mov edx, esi
sub eax, edi
push edx
sub eax, 6
lea ecx, [edi + 6]
lea edx, [esp + 0x28]
call fcn.00403eb0
mov ebx, eax
mov byte [esp + 0x38], 3
call fcn.004192d0
mov edi, eax
call fcn.00419350
mov edi, dword [esp + 0x44]
add edi, 0x10
call fcn.004035d0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 2
call fcn.00404510
cmp dword [ebp - 0xc], 0
jl 0x49a3b0
push str.Type:
push ebp
call fcn.0057880c
add esp, 8
test eax, eax
je 0x49a3b0
sub eax, ebp
sar eax, 1
mov edi, eax
cmp edi, 0xffffffff
je 0x49a3b0
mov ecx, edi
mov edx, 0x5bdf38
call fcn.0040f8c0
cmp eax, 0xffffffff
je 0x49a3b0
mov edx, esi
sub eax, edi
push edx
sub eax, 6
lea ecx, [edi + 6]
lea edx, [esp + 0x28]
call fcn.00403eb0
mov ebx, eax
mov byte [esp + 0x38], 4
call fcn.004192d0
mov edi, eax
call fcn.00419350
mov ebp, dword [esp + 0x44]
lea edi, [ebp + 0x14]
call fcn.004035d0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 2
call fcn.00404510
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x1c]
lea esi, [edi + 8]
push eax
call fcn.00418f00
mov byte [esp + 0x38], 5
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x49a4ff
jge 0x49a4e3
push 0x80070057
call fcn.00404550
cmp byte [ebx], 0x4c
jne 0x49a4ff
lea esi, [esp + 0x14]
call fcn.00410620
lea eax, [esp + 0x1c]
call fcn.0046bf00
jmp 0x49a3b9
lea eax, [ebp + 0xc]
call fcn.0040a090
mov ecx, dword [edi + 0x28]
lea edi, [ebp + 8]
lea eax, [esp + 0x40]
mov dword [ebp + 4], ecx
call fcn.004035d0
mov edx, dword [esp + 0x20]
push edx
mov dword [ebp + 0x18], 0
call fcn.0057832c
add esp, 4
lea esi, [esp + 0x14]
call fcn.00410620
lea eax, [esp + 0x1c]
call fcn.0046bf00
lea ecx, [esp + 0x18]
call fcn.00404510
call fcn.00410620
lea ecx, [esp + 0x40]
call fcn.00404510
mov eax, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 8