Function at 0x43b864
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x43bb26
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0043b810
mov eax, dword [0x43f460]
cmp dword [eax], 0x64
je 0x43bb0b
mov eax, dword [0x43f460]
cmp dword [eax], 0xc8
je 0x43bb0b
mov eax, dword [0x43f404]
mov eax, dword [eax]
call fcn.00423470
test al, al
jne 0x43b93a
lea eax, [ebp - 4]
call fcn.0042325c
xor eax, eax
push ebp
push 0x43b933
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43f414]
push eax
mov eax, dword [0x43f420]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx]
mov edx, eax
mov ecx, dword [0x43f3b8]
mov ecx, dword [ecx]
mov eax, dword [0x43f420]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00424d68
push 0xc8
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x43f404]
mov eax, dword [eax]
call fcn.00423470
test al, al
jne 0x43b919
call fcn.0043b864
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43b93a
mov eax, dword [0x43f420]
mov eax, dword [eax]
call fcn.00404008
ret
mov eax, dword [0x43f4d4]
mov eax, dword [eax]
call fcn.00423470
test al, al
jne 0x43b9ce
lea eax, [ebp - 8]
call fcn.0042325c
xor eax, eax
push ebp
push 0x43b9c7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43f414]
push eax
mov eax, dword [0x43f420]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx]
mov edx, eax
mov ecx, dword [0x43f394]
mov ecx, dword [ecx]
mov eax, dword [0x43f420]
mov eax, dword [eax]
mov eax, dword [eax + 4]
call fcn.00424d68
push 0xc8
call sub.kernel32.dll_Sleep_1
mov eax, dword [0x43f4d4]
mov eax, dword [eax]
call fcn.00423470
test al, al
jne 0x43b9ad
call fcn.0043b864
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43b9ce
mov eax, dword [0x43f420]
mov eax, dword [eax]
call fcn.00404008
ret
mov ecx, dword [0x43f370]
mov ecx, dword [ecx + 0xc]
mov edx, dword [0x43f370]
mov edx, dword [edx + 0x10]
lea eax, [ebp - 0xc]
call fcn.004050e0
mov eax, dword [ebp - 0xc]
call fcn.004090d0
test al, al
je 0x43ba16
mov ecx, dword [0x43f370]
mov ecx, dword [ecx + 0xc]
mov edx, dword [0x43f370]
mov edx, dword [edx + 0x10]
lea eax, [ebp - 0x10]
call fcn.004050e0
mov eax, dword [ebp - 0x10]
call fcn.004092e8
lea edx, [ebp - 0x14]
mov eax, 1
call fcn.00402df4
mov eax, dword [ebp - 0x14]
mov edx, 0x43bb3c
call fcn.004051e0
je 0x43bace
xor eax, eax
push ebp
push 0x43bac4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 4
push 3
push 0
push 0
push 0x80000000
mov eax, dword [0x43f3b4]
mov eax, dword [eax]
call fcn.00405294
push eax
call sub.kernel32.dll_CreateFileA_1
mov edx, dword [0x43f50c]
mov dword [edx], eax
mov eax, dword [0x43f50c]
cmp dword [eax], 0xffffffff
je 0x43baba
push 0
mov eax, dword [0x43f50c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetFileSize_1
mov edx, dword [0x43f390]
mov dword [edx], eax
mov eax, dword [0x43f424]
mov eax, dword [eax]
push eax
mov eax, dword [0x43f390]
mov eax, dword [eax]
push eax
push 0
push 0
mov eax, dword [0x43f50c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x43f5f4]
mov dword [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43bace
lea edx, [ebp - 0x1c]
mov eax, 1
call fcn.00402df4
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.0041fb90
mov eax, dword [ebp - 0x18]
push eax
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x20]
call fcn.00408c70
mov edx, dword [ebp - 0x20]
pop eax
call fcn.004051e0
je 0x43bb0b
call fcn.00404c60
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43bb2d
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00404df8
ret