Function at 0x43a6c2
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x458
mov eax, dword [0x4424f4]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
xor eax, eax
mov esi, edx
push edi
mov edi, eax
mov dword [ebp - 0x438], eax
push eax
mov ebx, ecx
mov dword [ebp - 0x428], edi
mov dword [ebp - 0x42c], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
test ebx, ebx
je 0x43a9f7
mov ecx, ebx
call fcn.0041f21e
test eax, eax
je 0x43a9f7
or dword [ebp - 0x420], 0xffffffff
test esi, esi
jne 0x43a722
mov esi, 0x40aae0
push 1
push 0x40aa38
push esi
lea eax, [ebp - 0x458]
mov ecx, ebx
push eax
lea edx, [ebp - 0x420]
call fcn.0043645b
test eax, eax
je 0x43a9e2
lea ecx, [ebp - 0x458]
call fcn.00436308
mov esi, eax
mov dword [ebp - 0x448], esi
test esi, esi
je 0x43a9e2
push 0x103
lea edx, [ebp - 0x214]
mov ecx, ebx
call fcn.0041e9d5
lea eax, [ebp - 0x214]
push eax
push 0x40a674
push 4
call fcn.0041e83a
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
xor eax, eax
push 0x4059f8
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 0x43a9d6
push esi
push 0x40a694
push 4
call fcn.0041e83a
mov ecx, dword [ebp - 0x420]
lea eax, [ebp - 0x458]
add esp, 0xc
mov edx, esi
push eax
xor eax, eax
push eax
call fcn.00422caa
test eax, eax
je 0x43a9b6
mov ecx, dword [ebp - 0x420]
xor edi, edi
mov edx, esi
inc edi
call fcn.00422ba2
mov esi, eax
mov dword [ebp - 0x444], esi
cmp esi, edi
jb 0x43a9b6
inc edi
lea ecx, [ebp - 0x458]
mov dword [ebp - 0x440], edi
call fcn.00436308
mov dword [ebp - 0x43c], eax
test eax, eax
je 0x43a99c
mov esi, eax
push 0x4059f8
push eax
mov dword [ebp - 0x424], esi
call dword [sym.imp.msvcrt.dll_wcsstr]
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x43a8d5
xor eax, eax
xor ecx, ecx
mov word [edi], ax
lea eax, [edi + 2]
mov dword [ebp - 0x434], eax
movzx eax, word [eax]
cmp cx, ax
je 0x43a8d5
push 0x2c
pop ecx
cmp cx, ax
je 0x43a8d5
push eax
call dword [sym.imp.msvcrt.dll_iswalnum]
pop ecx
test eax, eax
je 0x43a8aa
xor esi, esi
inc esi
movzx eax, word [edi + esi*2]
push eax
call dword [sym.imp.msvcrt.dll_iswalnum]
pop ecx
test eax, eax
jne 0x43a898
movzx eax, word [edi + esi*2]
push 0x2e
pop ecx
cmp cx, ax
je 0x43a898
push 0x5f
pop ecx
cmp cx, ax
jne 0x43a89e
inc esi
cmp esi, 0x20
jb 0x43a874
xor eax, eax
mov word [edi + esi*2], ax
mov esi, dword [ebp - 0x424]
mov edi, dword [ebp - 0x434]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x438]
jne 0x43a8b5
sub ecx, edx
sar ecx, 1
cmp ecx, 2
jbe 0x43a8d5
mov esi, edi
mov dword [ebp - 0x424], edi
lea eax, [ebp - 0x214]
mov edi, 0x104
push eax
mov edx, edi
lea ecx, [ebp - 0x41c]
call fcn.0040c040
push esi
mov edx, edi
lea ecx, [ebp - 0x41c]
call fcn.0040c075
xor edi, edi
lea eax, [ebp - 0x41c]
push edi
push 0x80
push 3
push edi
push 1
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x43a96e
lea eax, [ebp - 0x430]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edx, eax
cmp edx, 0xffffffff
je 0x43a965
mov ecx, dword [ebp - 0x430]
xor eax, eax
push edx
push dword [ebp - 0x424]
or eax, edx
or ecx, edi
add dword [ebp - 0x428], eax
push 0x40a6b0
adc dword [ebp - 0x42c], ecx
push 4
call fcn.0041e83a
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x43a984
push ebx
push dword [ebp - 0x424]
push 0x40a6e4
push 2
call fcn.0041e83a
add esp, 0x10
push dword [ebp - 0x43c]
call fcn.00440db7
mov edi, 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 0x43a9b6
cmp edi, esi
jbe 0x43a805
xor eax, eax
push 0x4059f8
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x43a7b6
mov edi, dword [ebp - 0x428]
push dword [ebp - 0x448]
call fcn.00440db7
pop ecx
cmp dword [ebp - 0x420], 0xffffffff
je 0x43a9f7
push dword [ebp - 0x420]
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe0000102
jne 0x43aa0f
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, esi
test eax, eax
je 0x43aa1c
mov ecx, 0x40a720
mov edx, eax
jmp 0x43aa23
mov ecx, 0x40a75c
mov edx, edi
push edx
neg eax
push ebx
sbb eax, eax
push ecx
add eax, 4
push eax
call fcn.0041e83a
mov ecx, dword [ebp - 8]
add esp, 0x10
mov edx, dword [ebp - 0x42c]
mov eax, edi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00441130
leave
ret 4