Function at 0x10043470
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10157703
mov eax, dword fs:[0]
push eax
sub esp, 0x2c4
mov eax, dword [0x101a4494]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2cc], edi
lea esi, [edi + 0x30]
lea ecx, [ebp - 0x291]
mov dword [ebp - 0x2d0], esi
call fcn.10041940
push eax
mov ecx, esi
call fcn.10057b40
mov dword [ebp - 0x29c], eax
test eax, eax
je 0x100435b5
lea eax, [ebp - 0x290]
push eax
call fcn.1001a2f0
add esp, 4
mov dword [ebp - 0x298], eax
lea ecx, [ebp - 0x291]
mov dword [ebp - 4], 0
call fcn.10041be0
mov edx, eax
lea ecx, [edx + 2]
mov dword [ebp - 0x2a0], ecx
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x10043501
sub edx, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x298]
sar edx, 1
push edx
push eax
push 0
call fcn.10047180
mov dword [ebp - 0x220], 0
xor ecx, ecx
mov dword [ebp - 0x21c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 2
call fcn.100098e0
cmp dword [ebp - 0x220], 0
je 0x100435a3
mov ecx, dword [ebp - 0x29c]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ecx]
mov edx, dword [eax + 0x160]
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push str.bkimage
call edx
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.100098e0
lea ecx, [ebp - 0x291]
call fcn.10041cc0
push eax
mov ecx, esi
call fcn.10057b40
mov dword [ebp - 0x29c], eax
test eax, eax
je 0x10043625
lea eax, [ebp - 0x230]
push eax
call fcn.1001a6b0
add esp, 4
cmp dword [ebp - 0x220], 0
mov dword [ebp - 4], 3
je 0x10043613
mov ecx, dword [ebp - 0x29c]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call edx
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.100098e0
cmp dword [edi + 0x360], 3
jne 0x10043b50
lea ecx, [ebp - 0x291]
call fcn.100423c0
push eax
mov ecx, esi
call fcn.10057b40
test eax, eax
je 0x1004365b
mov ecx, dword [edi + 0x36c]
test ecx, ecx
je 0x1004365b
push ecx
mov ecx, eax
call fcn.10062960
lea ecx, [ebp - 0x291]
call fcn.10041e80
push eax
mov ecx, esi
call fcn.10057b40
mov edx, eax
mov byte [ebp - 0x291], 0
mov dword [ebp - 0x298], edx
test edx, edx
je 0x100437bf
cmp dword [edi + 0x380], 0
je 0x100437bf
cmp dword [edi + 0x384], 8
mov ecx, dword [edx]
mov esi, dword [ecx + 0x30]
lea ecx, [edi + 0x370]
jb 0x100436ac
mov ecx, dword [edi + 0x370]
push ecx
mov ecx, edx
call esi
mov ecx, edi
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0
call fcn.1005f450
mov ecx, dword [ebp - 0x298]
mov esi, eax
call fcn.10061600
push eax
mov ecx, esi
call fcn.100580f0
mov ecx, edi
mov esi, eax
call fcn.1005f450
mov ecx, eax
call fcn.10054e60
push esi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [edi + 0x384], 8
lea esi, [edi + 0x370]
mov dword [ebp - 0x2a0], eax
mov eax, dword [edi + 0x380]
mov dword [ebp - 0x29c], eax
jb 0x1004371c
mov esi, dword [esi]
mov ecx, edi
call fcn.1005f450
mov ecx, eax
call fcn.10054e60
lea ecx, [ebp - 0x2b4]
push ecx
push dword [ebp - 0x29c]
push esi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
push dword [ebp - 0x2a0]
mov ecx, edi
call fcn.1005f450
mov ecx, eax
call fcn.10054e60
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [ebp - 0x2b4]
cmp esi, 0xc8
jle 0x1004377a
mov esi, 0xc8
mov byte [ebp - 0x291], 1
mov dword [ebp - 0x2b4], esi
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.1012e610
push esi
lea eax, [ebp - 0x218]
push 0x10161b80
push eax
call fcn.10014430
mov ecx, dword [ebp - 0x298]
lea edx, [ebp - 0x218]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0x10163b24
call dword [eax + 0x160]
lea esi, [edi + 0x30]
lea ecx, [ebp - 0x2a9]
call fcn.10042d60
push eax
mov ecx, esi
call fcn.10057b40
mov dword [ebp - 0x2b0], eax
test eax, eax
je 0x10043b50
lea ecx, [edi + 0x388]
push ecx
lea eax, [ebp - 0x278]
push eax
call fcn.1003ce20
push 1
lea eax, [ebp - 0x278]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.1003e2b0
add esp, 0x14
mov edi, dword [ebp - 0x2c8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
cmp edi, dword [ebp - 0x2c4]
je 0x10043958
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x298], ecx
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x10043851
mov eax, dword [edi]
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x2a4], esi
mov byte [ebp - 4], 6
cmp esi, 0xffffffff
jne 0x100438b6
push str.Unable_to_open_file_for_reading.
push 0x101ab548
call fcn.10038aa0
push eax
call fcn.1003c8b0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
jmp 0x10043933
lea eax, [ebp - 0x2bc]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x10043904
push str.Unable_to_get_file_size.
push 0x101ab548
call fcn.10038aa0
push eax
call fcn.1003c8b0
add esp, 0xc
test esi, esi
je 0x100438eb
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
jmp 0x10043933
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x29c], eax
test esi, esi
je 0x10043933
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2a4]
add dword [ebp - 0x298], ecx
mov esi, dword [ebp - 0x2a0]
adc esi, eax
add edi, 0x18
mov dword [ebp - 0x2a0], esi
cmp edi, dword [ebp - 0x2c4]
jne 0x10043847
jmp 0x1004396a
mov eax, dword [ebp - 0x2a8]
mov esi, dword [ebp - 0x2a4]
mov dword [ebp - 0x298], eax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 4
call fcn.1000ddd0
push 0xe
xor eax, eax
mov dword [ebp - 0x238], 0
push 0x10163b40
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.1000bc10
cmp byte [ebp - 0x291], 0
mov eax, 0x10163b34
mov ecx, dword [ebp - 0x298]
mov edi, 0x10163b30
cmove edi, eax
mov byte [ebp - 4], 7
mov edx, esi
mov dword [ebp - 0x2a4], edi
call fcn.100f5530
cmp byte [ebp - 0x291], 0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
push edi
mov eax, 0x10163b3c
mov ecx, 0x10163b38
cmove ecx, eax
lea eax, [ebp - 0x248]
cmp dword [ebp - 0x234], 8
push 0x101617d4
mulss xmm1, dword [0x10164d98]
cmovae eax, dword [ebp - 0x248]
sub esp, 8
mov dword [ebp - 0x29c], ecx
mulss xmm1, dword [0x10164d98]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
push ecx
push eax
push 0
push 0
movsd qword [ebp - 0x2bc], xmm0
call fcn.10049d90
mov edi, eax
add esp, 0x20
add edi, 1
je 0x10043bc7
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100f4f1d
mov esi, eax
add esp, 4
mov dword [ebp - 0x2a0], esi
push dword [ebp - 0x2a4]
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
movsd xmm0, qword [ebp - 0x2bc]
cmovae eax, dword [ebp - 0x248]
push 0x101617d4
sub esp, 8
mov byte [ebp - 4], 8
movsd qword [esp], xmm0
push dword [ebp - 0x29c]
push eax
push edi
push esi
call fcn.10049d90
lea eax, [edi - 1]
mov dword [ebp - 0x250], 0
lea eax, [esi + eax*2]
mov dword [ebp - 0x24c], 7
xor ecx, ecx
add esp, 0x20
mov word [ebp - 0x260], cx
cmp esi, eax
je 0x10043ae9
sub eax, esi
lea ecx, [ebp - 0x260]
sar eax, 1
push eax
push esi
call fcn.1000bc10
test esi, esi
je 0x10043af6
push esi
call fcn.100f4f26
add esp, 4
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xa
call fcn.100098e0
mov ecx, dword [ebp - 0x2b0]
cmp dword [ebp - 0x24c], 8
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
call edx
lea ecx, [ebp - 0x260]
call fcn.100098e0
lea ecx, [ebp - 0x278]
mov dword [ebp - 4], 0xffffffff
call fcn.100098e0
mov edi, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x2d0]
mov eax, dword [edi + 0x360]
cmp eax, 4
je 0x10043b6f
cmp eax, 5
je 0x10043b6f
cmp eax, 6
je 0x10043b6f
cmp eax, 7
je 0x10043b6f
cmp eax, 2
jne 0x10043bac
push str.more_settings_group
mov ecx, esi
call fcn.10057b40
push str.nottipbtn_15day
mov ecx, esi
mov dword [edi + 0x3ec], eax
call fcn.10057b40
push str.go_setting
mov ecx, esi
mov dword [edi + 0x3f0], eax
call fcn.10057b40
mov ecx, edi
mov dword [edi + 0x3f4], eax
call fcn.10044d00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f4dc3
mov esp, ebp
pop ebp
ret
push str.Error_during_formatting.
lea ecx, [ebp - 0x2c8]
call fcn.10009660
push 0x10193214
lea eax, [ebp - 0x2c8]
push eax
call fcn.1012d6f6
int3