Function at 0x404b74
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x23f4
call fcn.0040bf50
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
push dword [ebp + 0xc]
call dword [sym.imp.ir_rtl___tr__td__CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x18], edi
je 0x404e77
mov esi, dword [ebp + 8]
add esi, 4
mov dword [ebp - 0x14], esi
call fcn.004045c0
push 0x20
lea eax, [ebp - 0x270]
push eax
push ebx
push edi
call fcn.0040423c
add esp, 0x10
cmp byte [ebp - 0x258], 0x34
je 0x404e70
mov ecx, dword [ebp + 8]
push edi
call fcn.00404a3d
push ebx
push edi
call dword [sym.imp.ir_rtl___tr__td__GetFileSize]
mov dword [ebp - 0xc], eax
mov eax, 0x5000
cmp dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
jbe 0x404e70
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 4]
lea esi, [ebp - 0x23f0]
push edi
call fcn.00404ae3
test eax, eax
je 0x404e5d
mov ebx, dword [ebp - 0x23bc]
cmp ebx, 0x100
mov edi, dword [ebp - 0x23b4]
mov esi, dword [ebp - 0x23ac]
jbe 0x404c38
push 0x68
pop ebx
mov eax, 0x2000
cmp edi, eax
jbe 0x404c43
mov edi, eax
cmp esi, eax
jbe 0x404c49
mov esi, eax
push 0x1c8
lea eax, [ebp - 0x1ec]
push 0
push eax
call sub..net___target_newwin___s__a___h4__p__memset
mov eax, dword [ebp - 0x239c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x23e0]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x23dc]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x23e8]
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x23e4]
lea ecx, [ebp + ebx - 0x23f0]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1ec], eax
mov al, byte [ebp - 0x23b8]
lea ecx, [ebp + esi - 0x23f0]
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x1c8], al
lea ecx, [ebp + edi - 0x23f0]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x14]
movzx eax, al
add esp, 0xc
call fcn.00404681
test eax, eax
jne 0x404cd6
mov eax, 0x40d3e0
push eax
push 9
pop ebx
lea edi, [ebp - 0x1c7]
call fcn.00403a0b
xor ebx, ebx
cmp dword [ebp - 0x23d8], ebx
pop ecx
je 0x404d0d
lea eax, [ebp - 0x1e0]
push eax
mov eax, dword [ebp - 0x23d8]
shr eax, 0x10
push eax
push dword [ebp - 0x23d8]
call dword [sym.imp.ir_rtl___tr__td__DosDateTimeToFileTime]
cmp dword [ebp - 0x23a0], ebx
je 0x404d32
lea eax, [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x23a0]
shr eax, 0x10
push eax
push dword [ebp - 0x23a0]
call dword [sym.imp.ir_rtl___tr__td__DosDateTimeToFileTime]
cmp dword [ebp - 0x2394], ebx
je 0x404d57
lea eax, [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0x2394]
shr eax, 0x10
push eax
push dword [ebp - 0x2394]
call dword [sym.imp.ir_rtl___tr__td__DosDateTimeToFileTime]
push dword [ebp + 0xc]
lea esi, [ebp - 0x1be]
call fcn.00403b3a
call fcn.004037cd
lea eax, [ebp - 0x1c7]
push eax
mov edi, esi
call fcn.00404262
call fcn.004037cd
push dword [ebp - 0x34]
call fcn.00404262
push 0xff
lea eax, [ebp - 0x2ef]
push ebx
push eax
mov byte [ebp - 0x2f0], bl
call sub..net___target_newwin___s__a___h4__p__memset
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x2f0]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x30]
push eax
xor esi, esi
call fcn.00404521
add esp, 0x20
jmp 0x404e39
test esi, esi
jne 0x404dd1
lea eax, [ebp - 0x2f0]
push eax
push 0x3f
pop ebx
lea edi, [ebp - 0x79]
call fcn.00403a0b
pop ecx
push str.content_type:
lea eax, [ebp - 0x2f0]
call fcn.004038a8
test eax, eax
pop ecx
jl 0x404dfd
lea eax, [ebp + eax - 0x2e2]
push eax
push 0x3f
pop ebx
lea edi, [ebp - 0xb9]
call fcn.00403a0b
pop ecx
push str.content_length:
lea eax, [ebp - 0x2f0]
call fcn.004038a8
test eax, eax
pop ecx
jl 0x404e23
lea eax, [ebp + eax - 0x2e0]
push eax
call sub..net___target_newwin___s__a___h4__p__atoi
pop ecx
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x30]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x2f0]
push eax
inc esi
call fcn.00404521
pop ecx
pop ecx
test eax, eax
jne 0x404dba
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
lea edx, [ebp - 0x1f0]
push edx
call dword [eax]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
shl eax, 7
add dword [ebp - 4], eax
jmp 0x404e64
add dword [ebp - 4], 0x80
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jb 0x404bfc
push edi
call dword [sym.imp.ir_rtl___tr__td__CloseHandle]
pop edi
pop esi
pop ebx
leave
ret 8