Function at 0x43b018
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov byte [ebp - 2], cl
mov byte [ebp - 1], dl
mov ebx, eax
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [0x4c1278], eax
mov eax, dword [ebp + 0xc]
mov dword [0x4c127c], eax
mov byte [0x4c129d], 0
mov al, byte [ebp - 1]
mov byte [0x4c12d5], al
mov ecx, 0x8000000
mov edx, 0x80000000
mov eax, ebx
call fcn.004adc9c
mov edi, eax
cmp edi, 0xffffffff
jne 0x43b077
mov edx, ebx
mov ax, 1
call fcn.004acdac
jmp 0x43b37f
mov eax, dword [0x4beb40]
mov eax, dword [eax + 0xa0]
push eax
mov eax, ebx
call fcn.004aed10
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
sete byte [0x4c1282]
push 0
push edi
call sub.kernel32.dll_GetFileSize_1
mov esi, eax
push 4
push 0x1000
push esi
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x4c12b4], eax
cmp dword [0x4c12b4], 0
jne 0x43b0e2
mov dword [ebp - 0x14], esi
fild dword [ebp - 0x14]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x43b37f
push esi
mov eax, dword [0x4c12b4]
push eax
push edi
call sub.kernel32.dll__lread
mov dword [ebp - 0xc], eax
push edi
call sub.kernel32.dll_CloseHandle_1
cmp esi, dword [ebp - 0xc]
jle 0x43b11e
mov edx, ebx
mov ax, 2
call fcn.004acdac
push 0x4000
push esi
mov eax, dword [0x4c12b4]
push eax
call sub.kernel32.dll_VirtualFree_1
jmp 0x43b37f
mov eax, dword [0x4bee68]
cmp byte [eax], 0
jne 0x43b188
mov ecx, esi
mov edx, dword [0x4c12b4]
xor eax, eax
call fcn.0040ee84
mov ecx, eax
mov byte [ebp - 0xd], 0
mov edx, 7
mov eax, 0x4bd938
mov ebx, dword [eax]
not ebx
cmp ecx, ebx
jne 0x43b153
mov byte [ebp - 0xd], 1
add eax, 4
dec edx
jne 0x43b147
cmp byte [ebp - 0xd], 0
jne 0x43b188
mov ax, 0x392
call fcn.004aa600
mov edx, 4
call fcn.004b12a8
push 0x4000
push esi
mov eax, dword [0x4c12b4]
push eax
call sub.kernel32.dll_VirtualFree_1
jmp 0x43b37f
call fcn.00416d84
test al, al
jne 0x43b1a7
push 0x4000
push esi
mov eax, dword [0x4c12b4]
push eax
call sub.kernel32.dll_VirtualFree_1
jmp 0x43b37f
push 4
push 0x1000
push 0x400
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [0x4c1290], eax
cmp dword [0x4c1290], 0
jne 0x43b1e4
push 0
push 0x400
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x43b37f
mov dword [0x4c1294], 0x400
xor eax, eax
mov dword [0x4c1298], eax
cmp byte [ebp - 2], 0
je 0x43b202
mov byte [0x4c1280], 0
cmp byte [ebp - 1], 0
je 0x43b225
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x10]
mov dl, byte [ebp - 2]
mov eax, dword [0x4c12b4]
call fcn.0043c848
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jge 0x43b34b
mov eax, dword [0x4be410]
cmp byte [eax], 0
jne 0x43b261
mov ax, 0x232
call fcn.004aa600
mov edx, 1
call fcn.004b12a8
jmp 0x43b34b
mov eax, dword [0x4be410]
movzx eax, byte [eax]
mov edx, dword [0x4be788]
mov edx, dword [edx + eax*4 - 4]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004ab7d8
mov eax, dword [0x4bedb0]
call fcn.004ab7d8
push 0x43b38c
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov edx, dword [0x4be9fc]
mov edx, dword [edx]
add edx, dword [0x4c12b4]
mov eax, dword [0x4c12b4]
call fcn.004aad58
mov edx, dword [0x4be6b0]
mov dword [edx], eax
mov eax, dword [0x4be6b0]
fild dword [eax]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
push 0x43b394
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov edx, dword [0x4be9fc]
mov edx, dword [edx]
add edx, dword [0x4c12b4]
mov eax, dword [0x4beb38]
mov cx, 0x64
call fcn.004b81d8
mov eax, dword [0x4beb38]
mov dl, 0x20
call fcn.004b8284
test eax, eax
je 0x43b31f
mov byte [eax], 0
mov eax, dword [0x4beb38]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4bedb0]
mov dl, 9
call fcn.004aec2c
mov eax, dword [0x4bedb0]
mov edx, 1
call fcn.004b12a8
cmp byte [ebp - 1], 0
je 0x43b36e
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x14]
push 0x4000
push esi
mov eax, dword [0x4c12b4]
push eax
call sub.kernel32.dll_VirtualFree_1
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8