Function at 0x43446c
Capabilities:
Get file size

Disassembly:
sub esp, 0x54
mov eax, dword [0x5c9040]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 2
pop ecx
mov ebx, dword [esi + 0x100]
test ebx, 0x20000000
je 0x4344b5
mov eax, ebx
mov dword [esp + 0x20], ebx
and al, 3
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
cmp al, 1
jne 0x4344ab
and ebx, 0xfffffffe
or ebx, ecx
test bl, 8
je 0x4344b5
and ebx, 0xfffffff6
or ebx, ecx
push 0
call fcn.0053adcf
push eax
mov dword [esp + 0x24], eax
call fcn.0053adcf
pop ecx
pop ecx
push 3
mov ecx, ebx
pop edx
and ecx, edx
sub ecx, 0
je 0x4344f0
sub ecx, 1
je 0x4344e9
sub ecx, 1
jne 0x434644
mov ecx, 0x12019f
jmp 0x4344f5
mov ecx, 0x120116
jmp 0x4344f5
mov ecx, 0x120089
push 4
pop edi
test bl, 8
je 0x434502
and ecx, 0xfffffffd
or ecx, edi
mov ebp, ebx
mov eax, ebx
and ebp, 0x10000000
neg ebp
sbb ebp, ebp
and eax, 0x700
and ebp, 0xfffffff9
add ebp, 7
cmp eax, 0x400
ja 0x43455a
je 0x434554
test eax, eax
je 0x434554
cmp eax, 0x100
je 0x43454e
cmp eax, 0x200
je 0x4345fb
cmp eax, 0x300
jne 0x434644
push 2
pop eax
mov dword [esp + 0x14], eax
jmp 0x43457f
mov dword [esp + 0x14], edi
jmp 0x43457f
mov dword [esp + 0x14], edx
jmp 0x43457f
cmp eax, 0x500
je 0x434577
cmp eax, 0x600
je 0x4345fb
cmp eax, 0x700
jne 0x434644
mov dword [esp + 0x14], 1
mov eax, 0x80
mov dword [esp + 0x18], eax
test ebx, 0x100
je 0x4345a8
mov edx, dword [esp + 0x1c]
not dl
and dl, byte [esi + 0xf8]
test al, dl
lea edx, [eax + 1]
cmove eax, edx
mov dword [esp + 0x18], eax
mov edx, ecx
mov eax, ebx
or edx, 0x10000
test ebx, 0x40
cmove edx, ecx
mov ecx, dword [esp + 0x18]
or ecx, 0x4000100
mov dword [esp + 0x1c], edx
test eax, 0x40
cmove ecx, dword [esp + 0x18]
mov edx, ecx
or edx, 0x100
test ebx, 0x1000
cmove edx, ecx
and eax, 0x30
je 0x43460e
cmp eax, 0x10
je 0x434608
cmp eax, 0x20
jne 0x434644
or edx, 0x8000000
jmp 0x43460e
mov dword [esp + 0x14], 5
jmp 0x43457f
or edx, 0x10000000
mov eax, dword [esp + 0x1c]
mov ecx, eax
test ebx, 0x2000000
je 0x43462d
test al, 4
je 0x434627
test al, 2
je 0x434644
and ecx, 0xfffffffb
or edx, 0x20000000
mov eax, ebx
and eax, 0xc000000
je 0x434660
cmp eax, 0x4000000
je 0x43465a
cmp eax, 0x8000000
je 0x43465a
mov dword [esi + 0x48], 0xfffff019
mov dword [esi + 0xf0], 0x57
jmp 0x434ca2
or edx, 0x80000000
push 0
or edx, 0x2000000
push edx
push dword [esp + 0x1c]
push 0
push ebp
push ecx
push dword [esi + 0xf4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0x4346c5
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push 0x50
pop edx
cmp eax, edx
jne 0x4346ac
and ebx, 0x500
cmp ebx, 0x100
jne 0x4346ac
mov dword [esi + 0x48], 0xfffff01c
jmp 0x4346ba
call edi
mov edx, eax
mov ecx, edx
call fcn.00449d08
mov dword [esi + 0x48], eax
mov dword [esi + 0xf0], edx
jmp 0x434ca2
push ebx
push eax
call fcn.0052dfaa
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jns 0x434720
call fcn.0052d3fe
cmp dword [eax], 0x18
jne 0x4346e7
mov dword [esi + 0x48], 0xfffff01e
jmp 0x43470b
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
je 0x434703
call edi
mov edi, eax
mov ecx, edi
call fcn.00449d08
mov dword [esi + 0x48], eax
jmp 0x43470b
mov edi, 0xfffff002
mov dword [esi + 0x48], edi
push dword [esp + 0x18]
mov dword [esi + 0xf0], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x434ca2
test ebx, 0x20000000
je 0x434c9f
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x40]
push 0x18
push eax
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
test eax, eax
jne 0x434bb1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf0], eax
test eax, eax
jle 0x4348cd
cmp eax, 0x17
jg 0x434802
je 0x4349d2
cmp eax, 8
jg 0x4347c8
je 0x4347be
sub eax, 1
je 0x4347b4
sub eax, 1
je 0x4348c8
sub eax, 1
je 0x4348c8
sub eax, 1
je 0x434b25
sub eax, 1
je 0x4347aa
sub eax, 1
jne case.0x434d48.10039
mov eax, 0xfffff00d
jmp 0x4348cd
mov eax, 0xfffff030
jmp 0x4348cd
mov eax, 0xfffff01c
jmp 0x4348cd
mov eax, 0xfffff027
jmp 0x4348cd
sub eax, 0xd
je case.0x434d48.10046
sub eax, 1
je 0x4347be
sub eax, 1
je 0x4348c8
push 2
pop ecx
sub eax, ecx
je 0x4347f8
sub eax, ecx
jne case.0x434d48.10039
mov eax, 0xfffff035
jmp 0x4348cd
mov eax, 0xfffff03b
jmp 0x4348cd
mov ecx, 0x45d
cmp eax, ecx
jg 0x434a01
je 0x4349d2
mov ecx, 0xcb
cmp eax, ecx
jg 0x434910
je 0x4348c8
cmp eax, 0x6e
jg 0x434c3d
je 0x4349d2
cmp eax, 0x40
jle 0x434865
sub eax, 0x50
je 0x434902
push 2
pop ecx
sub eax, ecx
je 0x43489e
sub eax, 5
je case.0x434d48.10046
sub eax, 0x16
jne case.0x434d48.10039
mov eax, 0xfffff001
jmp 0x4348cd
je case.0x434d48.10054
sub eax, 0x1f
je 0x4349d2
sub eax, 1
je 0x434953
sub eax, 1
je 0x434953
sub eax, 6
je 0x43489e
sub eax, 0xb
jne case.0x434d48.10039
mov eax, 0xfffff02f
jmp 0x4348cd
mov eax, 0xfffff013
jmp 0x4348cd
mov eax, 0xfffff029
jmp 0x4348cd
je 0x4348c8
sub eax, 0x6f
je 0x434b2f
sub eax, 1
je 0x43489e
sub eax, 9
je case.0x434d48.10060
sub eax, 1
je case.0x434d48.10046
sub eax, 1
jne case.0x434d48.10039
mov eax, 0xfffff026
mov dword [esi + 0x48], eax
push ebx
jmp 0x434715
mov eax, 0xfffff019
jmp 0x4348cd
mov eax, 0xfffff039
jmp 0x4348cd
sub eax, 0x91
je 0x434909
sub eax, 0xb
je 0x4349d2
sub eax, 5
je 0x4348c8
sub eax, 0x16
jne case.0x434d48.10039
mov eax, 0xfffff015
jmp 0x4348cd
mov eax, 0xfffff02d
jmp 0x4348cd
mov ecx, 0x3e3
cmp eax, ecx
jg 0x434c4b
je 0x434add
mov ecx, 0xe8
cmp eax, ecx
jg 0x43497b
je case.0x434d48.10058
sub eax, 0xcd
je 0x4349d2
sub eax, 1
je 0x434971
push 2
pop ecx
sub eax, ecx
je 0x434967
sub eax, 0x16
je case.0x434d48.10058
sub eax, 1
jne case.0x434d48.10039
mov eax, 0xfffff00e
jmp 0x4348cd
mov eax, 0xfffff031
jmp 0x4348cd
mov eax, 0xfffff003
jmp 0x4348cd
mov eax, 0xfffff020
jmp 0x4348cd
sub eax, 0xe9
je case.0x434d48.10058
sub eax, 0x22
je 0x4348c8
sub eax, 0xa
je 0x43489e
sub eax, 0x1cf
jne case.0x434d48.10039
mov eax, 0xfffff004
jmp 0x4348cd
je 0x4349d2
sub eax, 0x3e6
je 0x43499f
sub eax, 6
je 0x4347a0
sub eax, 0x60
je 0x43489e
sub eax, 1
je 0x4349d2
sub eax, 1
jne case.0x434d48.10039
mov eax, 0xfffff01a
jmp 0x4348cd
sub eax, 0x450
je 0x4349d2
push 2
pop ecx
sub eax, ecx
je 0x4349d2
sub eax, 5
je 0x4349d2
sub eax, ecx
jne case.0x434d48.10039
mov eax, 0xfffff010
jmp 0x4348cd
mov ecx, 0x2735
cmp eax, ecx
jle 0x434c12
add ecx, 0x1c
cmp eax, ecx
jg 0x434b93
je 0x434a97
add eax, 0xffffd8ca
cmp eax, 0x17
ja case.0x434d48.10039
jmp dword [eax*4 + 0x434d50]
je case.0x434d48.10051
sub eax, 0x469
je 0x4349d2
sub eax, 0x24
je 0x4349d2
sub eax, 1
je 0x4349d2
sub eax, 0x3b
je case.0x434d48.10061
push 2
pop ecx
sub eax, ecx
jne case.0x434d48.10039
mov eax, 0xfffff005
jmp 0x4348cd
mov eax, 0xfffff012
jmp 0x4348cd
mov eax, 0xfffff022
jmp 0x4348cd
sub eax, 0x4d0
je 0x434a97
sub eax, edi
je case.0x434d48.10053
sub eax, 0x4e
je 0x4347aa
sub eax, 0x4f
jmp 0x4349cc
mov eax, 0xfffff011
jmp 0x4348cd
mov eax, 0xfffff017
jmp 0x4348cd
mov ecx, 0x271d
cmp eax, ecx
jg 0x434afb
je 0x43499f
sub eax, 0x780
je 0x43499f
sub eax, 1
je 0x434af1
sub eax, 0x149
je case.0x434d48.10057
sub eax, 0x85e
je 0x4348c8
sub eax, 0x15ec
jne case.0x434d48.10039
mov eax, 0xfffff00f
jmp 0x4348cd
mov eax, 0xfffff02b
jmp 0x4348cd
mov eax, 0xfffff01d
jmp 0x4348cd
sub eax, 0x271e
je 0x434b2f
sub eax, 8
je case.0x434d48.10046
push 2
pop ecx
sub eax, ecx
je 0x434b25
sub eax, 0xb
jne case.0x434d48.10039
mov eax, 0xfffff008
jmp 0x4348cd
mov eax, 0xfffff01e
jmp 0x4348cd
mov eax, 0xfffff016
jmp 0x4348cd
mov eax, 0xfffff00c
jmp 0x4348cd
mov eax, 0xfffff006
jmp 0x4348cd
mov eax, 0xfffff007
jmp 0x4348cd
mov eax, 0xfffff01b
jmp 0x4348cd
mov eax, 0xfffff01f
jmp 0x4348cd
mov eax, 0xfffff024
jmp 0x4348cd
mov eax, 0xfffff02e
jmp 0x4348cd
mov eax, 0xfffff033
jmp 0x4348cd
mov eax, 0xfffff047
jmp 0x4348cd
sub eax, 0x2af9
je 0x4348c8
sub eax, 3
je 0x4348c8
mov eax, 0xfffff002
jmp 0x4348cd
mov al, byte [esp + 0x55]
mov byte [esp + 0x24], al
test al, al
je 0x434bcb
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
jmp 0x434c8f
lea eax, [esp + 0x30]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x434c85
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf0], eax
test eax, eax
jle 0x4348cd
cmp eax, 0x17
jle 0x434765
mov ecx, 0x45d
cmp eax, ecx
jle 0x434d04
mov ecx, 0x2735
cmp eax, ecx
jg 0x434c5d
je 0x434b39
mov ecx, 0x5b8
cmp eax, ecx
jg 0x434aa1
je case.0x434d48.10046
mov ecx, 0x4cf
cmp eax, ecx
jle 0x434a30
jmp 0x434a71
cmp eax, 0x7e
jle 0x4348a5
jmp 0x4348e4
mov ecx, 0x44f
cmp eax, ecx
jle 0x4349a9
jmp 0x4349dc
mov ecx, 0x2751
cmp eax, ecx
jg 0x434b93
je 0x434a97
add eax, 0xffffd8ca
cmp eax, 0x17
ja case.0x434d48.10039
jmp dword [eax*4 + 0x434db0]
mov eax, dword [esp + 0x30]
or eax, dword [esp + 0x34]
jne 0x434cb5
or dword [esp + 0x28], 0xffffffff
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.00433d83
mov dword [esi + 0x48], ebp
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0051b034
add esp, 0x54
ret
test byte [esp + 0x20], 3
mov eax, edi
push 0
push dword [esp + 0x34]
push dword [esp + 0x3c]
push 2
pop ecx
cmove eax, ecx
push eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x434c94
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf0], eax
test eax, eax
jle 0x4348cd
cmp eax, 0x17
jle 0x434765
mov ecx, 0x45d
cmp eax, ecx
jg 0x434d1c
je 0x4349d2
mov ecx, 0xcb
cmp eax, ecx
jle 0x434822
jmp 0x434910
mov ecx, 0x2735
cmp eax, ecx
jle 0x434c12
add ecx, 0x1c
cmp eax, ecx
jg 0x434b93
je 0x434a97
add eax, 0xffffd8ca
cmp eax, 0x17
ja case.0x434d48.10039
jmp dword [eax*4 + 0x434e10]