Function at 0x43adac
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x458
mov eax, dword [0x4434f4]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
xor eax, eax
mov esi, edx
push edi
mov ebx, eax
mov dword [ebp - 0x438], eax
push eax
mov edi, ecx
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x42c], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
je 0x43b0e1
mov ecx, edi
call fcn.0041f47f
test eax, eax
je 0x43b0e1
or dword [ebp - 0x420], 0xffffffff
test esi, esi
jne 0x43ae0c
mov esi, 0x40aad0
push 1
push 0x40aa28
push esi
lea eax, [ebp - 0x458]
mov ecx, edi
push eax
lea edx, [ebp - 0x420]
call fcn.00436af8
test eax, eax
je 0x43b0cc
lea ecx, [ebp - 0x458]
call fcn.0043699f
mov esi, eax
mov dword [ebp - 0x448], esi
test esi, esi
je 0x43b0cc
push 0x103
lea edx, [ebp - 0x214]
mov ecx, edi
call fcn.0041ec19
lea eax, [ebp - 0x214]
push eax
push 0x40a664
push 4
call fcn.0041ea5f
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
xor eax, eax
push 0x4059e8
push esi
mov dword [ebp - 0x430], eax
call dword [sym.imp.msvcrt.dll_wcstok]
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43b0c0
push esi
push 0x40a684
push 4
call fcn.0041ea5f
mov ecx, dword [ebp - 0x420]
lea eax, [ebp - 0x458]
add esp, 0xc
mov edx, esi
push eax
xor eax, eax
push eax
call fcn.00422ff3
test eax, eax
je 0x43b0a0
mov ecx, dword [ebp - 0x420]
xor ebx, ebx
mov edx, esi
inc ebx
call fcn.00422ea6
mov esi, eax
mov dword [ebp - 0x444], esi
cmp esi, ebx
jb 0x43b0a0
inc ebx
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x440], ebx
call fcn.0043699f
mov dword [ebp - 0x43c], eax
test eax, eax
je 0x43b086
mov esi, eax
push 0x4059e8
push eax
mov dword [ebp - 0x424], esi
call dword [sym.imp.msvcrt.dll_wcsstr]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x43afbf
xor eax, eax
xor ecx, ecx
mov word [ebx], ax
lea eax, [ebx + 2]
mov dword [ebp - 0x434], eax
movzx eax, word [eax]
cmp cx, ax
je 0x43afbf
push 0x2c
pop ecx
cmp cx, ax
je 0x43afbf
push eax
call dword [sym.imp.msvcrt.dll_iswalnum]
pop ecx
test eax, eax
je 0x43af94
xor esi, esi
inc esi
movzx eax, word [ebx + esi*2]
push eax
call dword [sym.imp.msvcrt.dll_iswalnum]
pop ecx
test eax, eax
jne 0x43af82
movzx eax, word [ebx + esi*2]
push 0x2e
pop ecx
cmp cx, ax
je 0x43af82
push 0x5f
pop ecx
cmp cx, ax
jne 0x43af88
inc esi
cmp esi, 0x20
jb 0x43af5e
xor eax, eax
mov word [ebx + esi*2], ax
mov esi, dword [ebp - 0x424]
mov ebx, dword [ebp - 0x434]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x438]
jne 0x43af9f
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jbe 0x43afbf
mov esi, ebx
mov dword [ebp - 0x424], ebx
lea eax, [ebp - 0x214]
mov ebx, 0x104
push eax
mov edx, ebx
lea ecx, [ebp - 0x41c]
call fcn.0040c010
push esi
mov edx, ebx
lea ecx, [ebp - 0x41c]
call fcn.0040c045
xor ebx, ebx
lea eax, [ebp - 0x41c]
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x43b058
lea eax, [ebp - 0x430]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edx, eax
cmp edx, 0xffffffff
je 0x43b04f
mov ecx, dword [ebp - 0x430]
xor eax, eax
push edx
push dword [ebp - 0x424]
or eax, edx
or ecx, ebx
add dword [ebp - 0x428], eax
push 0x40a6a0
adc dword [ebp - 0x42c], ecx
push 4
call fcn.0041ea5f
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x43b06e
push edi
push dword [ebp - 0x424]
push 0x40a6d4
push 2
call fcn.0041ea5f
add esp, 0x10
push dword [ebp - 0x43c]
call fcn.00441807
mov ebx, dword [ebp - 0x440]
mov esi, dword [ebp - 0x444]
pop ecx
lea eax, [ebp - 0x458]
push eax
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
je 0x43b0a0
cmp ebx, esi
jbe 0x43aeef
xor eax, eax
push 0x4059e8
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x43aea0
mov ebx, dword [ebp - 0x428]
push dword [ebp - 0x448]
call fcn.00441807
pop ecx
cmp dword [ebp - 0x420], 0xffffffff
je 0x43b0e1
push dword [ebp - 0x420]
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe0000102
jne 0x43b0f9
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
test eax, eax
je 0x43b108
push eax
push edi
push 0x40a710
push 3
jmp 0x43b111
push ebx
push edi
push 0x40a74c
push 4
call fcn.0041ea5f
mov ecx, dword [ebp - 8]
add esp, 0x10
mov edx, dword [ebp - 0x42c]
mov eax, ebx
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00441b90
mov esp, ebp
pop ebp
ret 4