Function at 0x440eb0
Capabilities:
Read file on windows
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1934
call fcn.005970f0
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x1810], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x1820], eax
xor edi, edi
mov eax, dword [0x6373b8]
add dword [0x6373bc], eax
lea eax, [ebp - 0x1934]
push 0xc4
push edi
push eax
mov dword [ebp - 0x1870], esi
mov dword [ebp - 0x1804], edi
mov dword [ebp - 0x1808], edi
call fcn.00595760
push 0x1ec
lea eax, [ebp - 0x17fc]
push edi
push eax
call fcn.00595760
add esp, 0x18
cmp dword [0x6437a4], edi
jle 0x44100f
mov edx, dword [0x6437a8]
test edx, edx
jle 0x44100f
mov ecx, dword [0x6373d4]
lea eax, [edi + 0x10]
cmp ecx, 1
jne 0x440f54
mov eax, ecx
jmp 0x440f6a
cmp ecx, 8
jg 0x440f60
mov eax, 2
jmp 0x440f6a
mov edi, 0x20
cmp ecx, edi
cmovge eax, edi
push edx
push dword [0x6437a4]
push 4
push eax
lea eax, [ebp - 0x186c]
push eax
call fcn.00459c40
add esp, 0x14
test ax, ax
je 0x440fff
mov eax, dword [ebp - 0x186c]
xor edi, edi
mov dword [ebp - 0x1550], eax
mov eax, dword [ebp - 0x1868]
mov dword [ebp - 0x154c], eax
mov al, byte [0x6373c8]
mov byte [ebp - 0x1800], al
mov al, byte [0x6373cc]
mov byte [ebp - 0x17ff], al
mov al, byte [0x6373d0]
mov byte [ebp - 0x17fe], al
lea eax, [ebp - 0x1800]
push eax
lea eax, [ebp - 0x1558]
mov dword [ebp - 0x1804], edi
push eax
lea eax, [ebp - 0x186c]
mov dword [ebp - 0x1554], edi
push edi
push eax
mov dword [ebp - 0x1558], edi
mov byte [ebp - 0x17fd], 0
call fcn.0057cf90
add esp, 0x10
jmp 0x441a97
mov edi, 1
mov dword [ebp - 0x1804], edi
jmp 0x441a97
cmp dword [0x6437ac], edi
je 0x44103f
lea eax, [ebp - 0x186c]
push eax
call fcn.00444070
add esp, 4
test ax, ax
jne 0x441a97
mov edi, 2
mov dword [ebp - 0x1804], edi
jmp 0x441a97
lea eax, [ebp - 0x1934]
push eax
call fcn.0045a580
mov eax, dword [0x6436f4]
add esp, 4
mov ecx, eax
and ecx, 1
test al, 2
je 0x441062
or ecx, 0x100
cmp word [0x643744], di
je 0x441071
or ecx, 0x100000
cmp word [0x64374c], di
je 0x4410a2
mov eax, dword [0x6437c4]
or ecx, 0x4000000
test eax, eax
je 0x4410a2
mov dword [ebp - 0x188c], eax
mov eax, 1
mov byte [ebp - 0x1882], 1
mov word [ebp - 0x1884], ax
xor eax, eax
mov dword [ebp - 0x1920], 0x1000
mov word [ebp - 0x1930], ax
mov word [ebp - 0x1934], ax
movzx eax, word [0x637358]
mov word [ebp - 0x1932], ax
mov eax, 1
mov word [ebp - 0x1924], ax
mov al, byte [0x637378]
mov byte [ebp - 0x18bb], al
mov al, byte [0x637374]
mov byte [ebp - 0x18bc], al
mov eax, dword [0x6373a4]
mov dword [ebp - 0x18d0], eax
mov eax, dword [0x6373a8]
mov dword [ebp - 0x18cc], eax
mov eax, dword [0x643758]
mov dword [ebp - 0x18c4], eax
movzx eax, word [0x643738]
mov word [ebp - 0x18c0], ax
mov ax, word [0x637390]
test ax, ax
jns 0x441132
mov dword [ebp - 0x18c8], 8
jmp 0x441139
mov word [ebp - 0x18be], ax
mov eax, dword [ebp + 0xc]
or ecx, 0x40000
cmp byte [0x63735b], 0
mov edx, 1
mov dword [ebp - 0x1928], eax
movzx eax, byte [ebp - 0x18b8]
cmovne eax, edx
mov dword [ebp - 0x192c], ecx
mov byte [ebp - 0x18b8], al
cmp dword [0x6437b4], edi
je 0x441184
mov eax, 3
mov byte [ebp - 0x1882], dl
mov word [ebp - 0x1884], ax
cmp byte [0x643703], 0
movsd xmm0, qword [str.333333]
cvtpd2ps xmm0, xmm0
mov al, byte [0x643784]
mov byte [ebp - 0x18ad], al
mov al, byte [0x643788]
mov byte [ebp - 0x18ac], al
mov al, byte [0x64378c]
mov byte [ebp - 0x18ab], al
movss dword [ebp - 0x18a4], xmm0
movsd xmm0, qword [0x6373f8]
cvtpd2ps xmm0, xmm0
mov al, byte [0x643798]
mov byte [ebp - 0x18b0], al
movss dword [ebp - 0x1890], xmm0
movss dword [ebp - 0x1894], xmm0
movsd xmm0, qword [0x6373e0]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x18a0], xmm0
movsd xmm0, qword [0x6373e8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x189c], xmm0
movsd xmm0, qword [0x6373f0]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x1898], xmm0
je 0x441231
or ecx, 0x400
mov dword [ebp - 0x192c], ecx
cmp byte [0x643702], 0
je 0x441246
or ecx, 0x200000
mov dword [ebp - 0x192c], ecx
cmp byte [0x6436ff], 0
je 0x441261
or ecx, 0x800800
mov byte [ebp - 0x18ae], dl
mov dword [ebp - 0x192c], ecx
cmp dword [0x64376c], edi
jne 0x441275
or ecx, 0x8000
mov dword [ebp - 0x192c], ecx
mov ax, word [0x637380]
test ax, ax
jg 0x441282
xor eax, eax
mov word [ebp - 0x18b6], ax
mov eax, dword [0x643780]
test eax, eax
je 0x4412ad
push 0x400
lea ecx, [ebp - 0x187c]
push ecx
push eax
call fcn.0045bc40
mov ecx, dword [ebp - 0x192c]
add esp, 0xc
mov dword [ebp - 0x1844], edi
mov dword [ebp - 0x1848], edi
cmp word [0x643748], di
je 0x441315
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x44130f
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1830]
push eax
lea eax, [ebp - 0x1838]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push edi
mov dword [ebp - 0x1808], 1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x192c]
cmp dword [0x637400], 0
jle 0x441365
lea eax, [ebp - 0x34]
push eax
push ebx
call fcn.005970a6
add esp, 8
test eax, eax
jne 0x44135f
push eax
call fcn.00594354
mov edi, eax
add esp, 4
imul eax, dword [0x637400], 0x15180
mov ecx, edx
sub edi, dword [ebp - 0x14]
sbb ecx, dword [ebp - 0x10]
cdq
cmp ecx, edx
jg 0x44135f
jl 0x442d1d
cmp edi, eax
jb 0x442d1d
mov ecx, dword [ebp - 0x192c]
cmp dword [0x6436f0], 0
jne 0x4414c9
cmp word [0x64370c], 0
jne 0x4414d7
cmp dword [0x643710], 0
jne 0x441812
cmp dword [0x643764], 0
jne 0x441967
cmp dword [0x6437e8], 0
je 0x4419fb
cmp word [0x643704], 0
jne 0x4419fb
lea eax, [ebp - 0x17fc]
push eax
movzx eax, word [0x637358]
push 0x40000
push eax
push ebx
call fcn.0045ac90
add esp, 0x10
test ax, ax
jne 0x4414c3
mov ecx, esi
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x441400
test dl, dl
je 0x4413fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x441400
add eax, 2
add ecx, 2
test dl, dl
jne 0x4413e0
xor eax, eax
jmp 0x441405
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4414c3
lea eax, [ebp - 0xd70]
push eax
push dword [ebp - 0x1660]
call fcn.0043ece0
lea eax, [ebp - 0xd70]
push eax
call fcn.00443e50
push 0
push 0
lea eax, [ebp - 0xd70]
push eax
push ebx
call fcn.0043fb30
lea eax, [ebp - 0xd70]
push eax
call fcn.0043eb40
add esp, 0x20
cmp word [0x643748], 0
je 0x4414a1
cmp dword [ebp - 0x1808], 0
je 0x4414a1
push 0
push 0x80
push 3
push 0
push 0
push 0x40000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4414a1
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1830]
push eax
lea eax, [ebp - 0x1838]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x192c]
cmp word [0x64370c], 0
je 0x441805
cmp byte [0x64370a], 0
jne 0x44151d
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.005970a6
add esp, 8
test eax, eax
jne 0x44151d
push 0xffffffffffffffff
push 0x5c2576
push 0x200
push eax
push esi
call fcn.004431e0
add esp, 0x14
mov eax, 0x200
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
push esi
push ebx
call fcn.00452150
add esp, 8
test eax, eax
je 0x4415e1
push 0x628c60
push ebx
call fcn.005931b4
mov edi, eax
add esp, 8
test edi, edi
je 0x4415c8
push 0x5c3924
push esi
call fcn.005931b4
add esp, 8
mov dword [ebp - 0x1800], eax
test eax, eax
je 0x4415bf
push edi
push 0x1000
lea eax, [ebp - 0x1548]
push 1
push eax
call fcn.00595b79
add esp, 0x10
test eax, eax
je 0x4415b1
mov esi, dword [ebp - 0x1800]
push esi
push 1
push eax
lea eax, [ebp - 0x1548]
push eax
call fcn.0059628c
push edi
push 0x1000
lea eax, [ebp - 0x1548]
push 1
push eax
call fcn.00595b79
add esp, 0x20
test eax, eax
jne 0x441580
mov esi, dword [ebp - 0x1870]
push dword [ebp - 0x1800]
call fcn.00593079
add esp, 4
push edi
call fcn.00593079
add esp, 4
lea edx, [ebp - 0x144]
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4415d2
jmp 0x4415fd
lea edx, [ebp - 0x144]
mov ecx, ebx
sub edx, ebx
jmp 0x4415f0
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4415f0
cmp word [0x64370c], 6
jne 0x4416cf
lea eax, [ebp - 0x17fc]
push eax
push 0x40000
push str.jpeg
call fcn.0045b150
add esp, 4
push eax
push ebx
call fcn.0045ac90
add esp, 0x10
test ax, ax
jne 0x4416cf
push str.jpeg
call fcn.0045b150
movsx ecx, word [ebp - 0x17f8]
add esp, 4
cmp ecx, eax
jne 0x4416c0
mov eax, dword [ebp - 0x1660]
test eax, eax
je 0x44167d
lea ecx, [ebp - 0x181c]
push ecx
push eax
call fcn.00437530
add esp, 8
test eax, eax
je 0x44167d
mov eax, dword [ebp - 0x181c]
cmp eax, 1
jle 0x44167d
cmp eax, 8
jle 0x4416c0
cmp word [0x6436f8], 0
jne 0x44169e
push ebx
push str.Lossless_transformation_of__s_:_NOT_NEEDED_n
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 0xc
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
add esp, 4
lea eax, [ebp - 0x17fc]
push eax
movzx eax, word [0x637358]
push 0
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0045ac90
add esp, 0x10
test ax, ax
jne 0x4417ff
push str.jpeg
call fcn.0045b150
movsx ecx, word [ebp - 0x17f8]
add esp, 4
cmp ecx, eax
jne 0x4417ff
movzx eax, word [0x64370c]
push 7
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.0058b830
add esp, 0xc
movzx esi, ax
cmp word [0x6436f8], 0
jne 0x441762
mov ecx, str.FAILED
test si, si
mov eax, 0x5c450c
cmove eax, ecx
push eax
push ebx
push str.Lossless_transformation_of__s_:__s_n
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 0x10
test si, si
je 0x442d1d
cmp byte [0x6436fb], 0
je 0x441785
lea eax, [ebp - 0x144]
push 8
push eax
call fcn.0058c290
add esp, 8
cmp word [0x643748], 0
je 0x442d1d
cmp dword [ebp - 0x1808], 0
je 0x442d1d
push 0
push 0x80
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x442d1d
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1830]
push eax
lea eax, [ebp - 0x1838]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x192c]
cmp dword [0x643710], 0
je 0x44195a
cmp dword [0x64371c], 0
jle 0x44195a
cmp dword [0x643720], 0
jle 0x44195a
lea eax, [ebp - 0x17fc]
push eax
movzx eax, word [0x637358]
push 0
push eax
push ebx
call fcn.0045ac90
add esp, 0x10
test ax, ax
jne 0x441954
push str.jpeg
call fcn.0045b150
movsx ecx, word [ebp - 0x17f8]
add esp, 4
cmp ecx, eax
jne 0x441954
push 1
push dword [0x643720]
push dword [0x64371c]
push dword [0x643718]
push dword [0x643714]
push ebx
call fcn.0058b760
add esp, 0x18
movzx esi, ax
cmp word [0x6436f8], 0
jne 0x4418c3
mov ecx, str.FAILED
test si, si
mov eax, 0x5c450c
cmove eax, ecx
push eax
push ebx
push str.Lossless_cropping_of__s_:__s_n
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 0x10
test si, si
je 0x442d1d
cmp byte [0x6436fb], 0
je 0x4418e0
push 8
push ebx
call fcn.0058c290
add esp, 8
cmp word [0x643748], 0
je 0x442d1d
cmp dword [ebp - 0x1808], 0
je 0x442d1d
push 0
push 0x80
push 3
push 0
push 0
push 0x40000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x442d1d
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1830]
push eax
lea eax, [ebp - 0x1838]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x192c]
cmp dword [0x643764], 0
je 0x4419fb
lea eax, [ebp - 0x17fc]
push eax
movzx eax, word [0x637358]
push 0
push eax
push ebx
call fcn.0045ac90
add esp, 0x10
test ax, ax
jne 0x4419f5
push str.jpeg
call fcn.0045b150
movsx ecx, word [ebp - 0x17f8]
add esp, 4
cmp ecx, eax
jne 0x4419f5
mov ecx, dword [0x643764]
xor eax, eax
test cl, 1
mov edx, 0x10
cmovne eax, edx
test cl, 2
je 0x4419b9
or eax, 1
test cl, 4
je 0x4419c1
or eax, 0x40
test cl, 8
je 0x4419c9
or eax, 8
test dl, cl
je 0x4419d0
or eax, 2
test cl, 0x20
je 0x4419d8
or eax, 4
test cl, 0x40
je 0x4419e0
or eax, 0x20
push eax
push ebx
call fcn.0058c290
movzx eax, ax
add esp, 8
test ax, ax
jmp 0x4418c6
mov ecx, dword [ebp - 0x192c]
mov eax, dword [0x64379c]
test eax, eax
jle 0x441a32
mov edx, dword [0x6437a0]
test edx, edx
jle 0x441a32
mov dword [ebp - 0x1918], eax
or ecx, 0x800
mov eax, 2
mov dword [ebp - 0x1914], edx
mov word [ebp - 0x191a], ax
mov dword [ebp - 0x192c], ecx
cmp word [0x643704], 0
lea eax, [ebp - 0x17fc]
push eax
je 0x441a64
movzx eax, word [0x637358]
push 0x70000
push eax
push ebx
call fcn.0045ac90
movzx edi, ax
add esp, 0x10
mov dword [ebp - 0x1804], edi
jmp 0x441a97
lea eax, [ebp - 0x1934]
push eax
lea eax, [ebp - 0x186c]
push eax
push ebx
call fcn.0045bc10
movzx edi, ax
add esp, 0x10
mov dword [ebp - 0x1804], edi
test di, di
jne 0x441a91
inc dword [0x6437d8]
jmp 0x441a97
inc dword [0x6437dc]
mov eax, dword [ebp - 0x187c]
test eax, eax
je 0x441aaa
push eax
call fcn.00592c4b
add esp, 4
lea eax, [ebp - 0x1610]
push eax
call fcn.0045a680
movzx ecx, word [0x63735c]
add esp, 4
cmp word [0x63735c], 0xffff
movzx edx, word [ebp - 0x17f8]
mov eax, dword [ebp - 0x17d8]
cmovne edx, ecx
mov ecx, dword [ebp - 0x1810]
mov word [ebp - 0x1610], dx
mov dword [ecx], eax
test di, di
je 0x441b3a
cmp word [0x643704], 0
je 0x441b0d
push ebx
push str._n_s_:_Failed_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push dword [ebp - 0x1928]
lea eax, [ebp - 0x165c]
push eax
push edi
push 1
push ebx
call fcn.004431e0
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
cmp word [0x643704], 0
je 0x442299
movzx eax, word [ebp - 0x17f6]
dec eax
je 0x441b6f
sub eax, 0xf
je 0x441b68
dec eax
je 0x441b61
mov edi, str.Top_Left
jmp 0x441b74
mov edi, str.Bottom_Right
jmp 0x441b74
mov edi, str.Bottom_Left
jmp 0x441b74
mov edi, str.Top_Right
movzx esi, word [ebp - 0x17ec]
movzx eax, word [ebp - 0x17ea]
push ebx
push str._n_s_:_Success_n
imul esi, eax
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
lea eax, [ebp - 0x1680]
push eax
push dword [ebp - 0x17dc]
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.0045b690
add esp, 0x1c
lea eax, [ebp - 0x17c8]
push eax
push str.____Format_______________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
movsx eax, word [ebp - 0x17f8]
push eax
call fcn.0045b460
add esp, 0x10
push eax
push str.____Name_________________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
lea eax, [ebp - 0x44]
push eax
push str.____Compression__________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push dword [ebp - 0x17f4]
push str.____Width________________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push dword [ebp - 0x17f0]
push str.____Height_______________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
movzx eax, word [ebp - 0x17ea]
add esp, 0xc
push eax
push str.____Components_per_pixel_:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
movzx eax, word [ebp - 0x17ec]
add esp, 0xc
push eax
push str.____Bits_per_component___:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push esi
push str.____Depth________________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
mov eax, 0x18
cmp esi, eax
cmovge esi, eax
mov eax, 1
mov ecx, esi
shl eax, cl
push eax
push str._____colors_____________:__lu_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
push dword [ebp - 0x17da]
call fcn.0045b710
add esp, 0x10
push eax
push str.____Color_model__________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push dword [ebp - 0x17e4]
push str.____Bytes_Per_Plane______:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
push edi
push str.____Orientation__________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
mov ax, word [ebp - 0x17e0]
add esp, 0xc
test ax, ax
je 0x441d3f
cwde
push eax
push str.____Xdpi_________________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
jmp 0x441d55
push str.____Xdpi_________________:_Not_set_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 8
mov ax, word [ebp - 0x17de]
test ax, ax
je 0x441d7b
cwde
push eax
push str.____Ydpi_________________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
jmp 0x441d91
push str.____Ydpi_________________:_Not_set_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 8
push dword [ebp - 0x17d8]
push str.____Page_s_______________:__d_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
mov eax, dword [ebp - 0x1788]
add esp, 0xc
test eax, eax
je 0x441dce
push eax
push str.____Comment______________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
cmp dword [ebp - 0x1784], 0
je 0x441e26
push str.____Info:_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
xor esi, esi
add esp, 8
cmp dword [ebp - 0x1784], esi
jle 0x441e26
jmp 0x441e00
push dword [ebp + esi*4 - 0x1780]
push str._______s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x1784]
jl 0x441e00
mov eax, dword [ebp - 0x1660]
test eax, eax
je 0x441eb8
push str.____Metadata_____________:__
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
mov esi, dword [ebp - 0x1660]
add esp, 8
test esi, esi
je 0x441e9c
mov eax, dword [esi]
cmp eax, 2
jne 0x441e62
push str.IPTC
jmp 0x441e84
cmp eax, 1
jne 0x441e6e
push str.EXIF
jmp 0x441e84
cmp eax, 4
jne 0x441e7a
push str.ICC
jmp 0x441e84
cmp eax, 3
jne 0x441e95
push str.XMP
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 8
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x441e54
push 0x5c4af8
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
mov eax, dword [ebp - 0x1660]
add esp, 8
push eax
call fcn.0045ba30
add esp, 4
test eax, eax
je 0x441efb
push 0x100
lea ecx, [ebp - 0x144]
push ecx
push eax
call fcn.0045b6c0
add esp, 0xc
test eax, eax
je 0x441efb
lea eax, [ebp - 0x144]
push eax
push str.____Color_Profile________:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0xc
cmp word [0x643704], 2
jne 0x4420ad
push dword [ebp - 0x1660]
call fcn.00437200
add esp, 4
test al, al
je 0x442047
push dword [ebp - 0x1660]
call fcn.00437060
mov edi, eax
add esp, 4
mov dword [ebp - 0x1810], edi
test edi, edi
je 0x442047
push str.EXIF:_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x1800], ecx
cmp dword [edi], ecx
jle 0x44203e
xor eax, eax
mov dword [ebp - 0x1804], eax
jmp 0x441f70
mov ebx, dword [edi + 0xc]
add ebx, eax
mov eax, dword [ebx]
dec eax
cmp eax, 0x1f
ja case.0x441f84.3
movzx eax, byte [eax + 0x442d80]
jmp dword [eax*4 + 0x442d64]
mov eax, str.Camera
jmp 0x441fb3
mov eax, str.Image
jmp 0x441fb3
mov eax, 0x5c2e00
jmp 0x441fb3
mov eax, str.Thumbnail
jmp 0x441fb3
mov eax, 0x5c2e04
jmp 0x441fb3
mov eax, str.Makernotes
push eax
push str.___s:_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
mov ecx, dword [ebp - 0x1800]
add esp, 0xc
xor esi, esi
cmp dword [ebx + 4], esi
jle 0x442020
xor edi, edi
lea esp, [esp]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + edi + 0x10]
test eax, eax
je 0x44200b
push eax
movzx eax, word [ecx + edi]
push eax
push dword [ecx + edi + 4]
push str.______20s__0x_04x_:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0x14
inc esi
add edi, 0x14
cmp esi, dword [ebx + 4]
jl 0x441fe0
mov ecx, dword [ebp - 0x1800]
mov edi, dword [ebp - 0x1810]
mov eax, dword [ebp - 0x1804]
inc ecx
add eax, 0x10
mov dword [ebp - 0x1800], ecx
mov dword [ebp - 0x1804], eax
cmp ecx, dword [edi]
jl 0x441f70
push edi
call fcn.00437160
add esp, 4
cmp word [0x643704], 2
jne 0x4420ad
push dword [ebp - 0x1660]
call fcn.0043eb00
add esp, 4
test al, al
je 0x4420ad
push str.IPTC:_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
push 0
push 0x444410
push dword [ebp - 0x1660]
call fcn.0043e920
add esp, 0x14
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x1660]
call fcn.0043eb00
add esp, 4
test al, al
je 0x442277
lea eax, [ebp - 0xd70]
push eax
push dword [ebp - 0x1660]
call fcn.0043ece0
xor edi, edi
add esp, 8
mov dword [ebp - 0x1808], edi
cmp dword [0x6437e8], edi
jle 0x442268
mov esi, 0x6437fc
mov dword [ebp - 0x1814], esi
jmp 0x442100
cmp dword [esi - 4], 0
jne 0x44224c
mov eax, dword [esi]
mov dword [ebp - 0x1820], eax
cmp eax, 0x100
jae 0x442128
mov ecx, dword [ebp + eax*8 - 0xd70]
test ecx, ecx
jne 0x442234
cmp eax, 0x14
je 0x442145
cmp eax, 0x19
je 0x442140
cmp eax, 0x1b
je 0x442140
cmp eax, 0x76
jne 0x44224c
cmp eax, 0x14
jne 0x442153
mov edx, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x570]
jmp 0x44218e
cmp eax, 0x19
jne 0x442166
mov edx, dword [ebp - 0x564]
mov ecx, dword [ebp - 0x568]
jmp 0x44218e
cmp eax, 0x1b
jne 0x442179
mov edx, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x560]
jmp 0x44218e
cmp eax, 0x76
jne 0x44224c
mov edx, dword [ebp - 0x554]
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x1800], ecx
mov dword [ebp - 0x1804], edx
test edx, edx
je 0x44224c
xor ebx, ebx
mov byte [ebp - 0x548], 0
test ecx, ecx
jle 0x44222e
lea eax, [ecx - 1]
mov dword [ebp - 0x1810], eax
mov ax, word [0x5c38bc]
mov edx, dword [edx + ebx*4]
mov esi, edx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4421c7
lea edi, [ebp - 0x548]
sub edx, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4421d7
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp ebx, dword [ebp - 0x1810]
je 0x44220d
lea edi, [ebp - 0x548]
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
lea edi, [edi + 1]
test cl, cl
jne 0x442200
mov word [edi], ax
mov edx, dword [ebp - 0x1804]
inc ebx
cmp ebx, dword [ebp - 0x1800]
jl 0x4421c2
mov eax, dword [ebp - 0x1820]
mov esi, dword [ebp - 0x1814]
mov edi, dword [ebp - 0x1808]
lea ecx, [ebp - 0x548]
push ecx
push eax
push str.IPTC__d:__s_n
call fcn.00592f31
add eax, 0x20
push eax
call fcn.0059320e
add esp, 0x10
inc edi
add esi, 0xc
mov dword [ebp - 0x1808], edi
mov dword [ebp - 0x1814], esi
cmp edi, dword [0x6437e8]
jl 0x442100
lea eax, [ebp - 0xd70]
push eax
call fcn.0043eb40
add esp, 4
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
cmp byte [0x63735a], 0
jne 0x4422b1
lea eax, [ebp - 0x1840]
push eax
call fcn.0045b580
add esp, 4
cmp byte [0x6436ff], 0
je 0x4422da
push 0
push 0
push 0
push 0
push 1
lea eax, [ebp - 0x17fc]
push eax
lea eax, [ebp - 0x186c]
push eax
call fcn.0044a430
add esp, 0x1c
lea eax, [ebp - 0x17fc]
push eax
lea eax, [ebp - 0x186c]
push ebx
push eax
call fcn.00444570
add esp, 0xc
mov dword [0x6437d4], eax
cmp dword [0x6437e8], 0
jle 0x44233f
lea eax, [ebp - 0xd70]
push eax
push dword [ebp - 0x1840]
call fcn.0043ece0
lea eax, [ebp - 0xd70]
push eax
call fcn.00443e50
lea eax, [ebp - 0xd70]
push eax
lea eax, [ebp - 0x1840]
push eax
call fcn.0043e7e0
lea eax, [ebp - 0xd70]
push eax
call fcn.0043eb40
add esp, 0x18
cmp word [0x643740], 0
je 0x44239b
mov edi, dword [ebp - 0x1854]
cmp edi, 1
jle 0x44239b
cmp dword [ebp - 0x1850], 1
jle 0x44239b
movsx ecx, word [0x637380]
mov eax, ecx
imul ecx, dword [ebp - 0x186c]
imul eax, dword [ebp - 0x1868]
push 0
dec eax
add eax, edi
cdq
idiv dword [ebp - 0x1850]
push eax
lea eax, [edi - 1]
add eax, ecx
cdq
idiv edi
push eax
lea eax, [ebp - 0x186c]
push 0
push eax
call fcn.00460040
add esp, 0x14
mov eax, dword [ebp - 0x1840]
test eax, eax
je 0x4425f2
cmp byte [0x6436fb], 0
je 0x4423c3
push 0
push eax
call fcn.004388e0
mov eax, dword [ebp - 0x1840]
add esp, 8
test eax, eax
je 0x4425f2
cmp byte [0x6436fe], 0
je 0x4425f2
lea ecx, [ebp - 0x1800]
push ecx
lea ecx, [ebp - 0x1814]
push ecx
push eax
call fcn.004382c0
add esp, 0xc
test eax, eax
je 0x4425f2
mov ecx, dword [ebp - 0x1814]
mov edx, dword [ebp - 0x1800]
mov eax, dword [ebp - 0x1868]
mov edi, dword [ebp - 0x186c]
cmp ecx, edx
jle 0x442419
cmp edi, eax
jl 0x44241f
cmp ecx, edx
jge 0x442431
cmp edi, eax
jle 0x442431
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [ebp - 0x1814], ecx
mov dword [ebp - 0x1800], edx
push 0
push 1
push edx
push ecx
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x186c]
push eax
call fcn.0057ee50
add esp, 0x18
test ax, ax
jne 0x4425f2
mov ax, word [ebp - 0x2c]
cmp ax, 1
jne 0x442463
push 0
push 9
jmp 0x44246d
cmp ax, 4
jne 0x44247b
push 0
push 0x13
lea eax, [ebp - 0x38]
push 0
push eax
call fcn.005886f0
add esp, 0x10
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x30]
add eax, 0x1000
push eax
call fcn.00593e38
mov edi, eax
add esp, 4
test edi, edi
je 0x4425e6
push 0x50
lea eax, [ebp - 0x181c]
push eax
push edi
push dword [ebp - 0x2a]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x10]
call fcn.00435bd0
add esp, 0x20
cmp ax, 1
jne 0x4425dd
cmp dword [ebp - 0x1840], 0
je 0x4425c7
cmp byte [0x6436fe], 0
je 0x4425c7
cmp dword [0x6436f0], 0
jne 0x4425c7
cmp word [0x64370c], 0
jne 0x4425c7
cmp dword [0x643710], 0
jne 0x4425c7
cmp dword [0x643764], 0
jne 0x4425c7
cmp dword [0x6437e8], 0
jne 0x4425c7
push str.jpeg
call fcn.0045b150
movsx ecx, word [ebp - 0x1610]
add esp, 4
cmp ecx, eax
jne 0x4425c7
mov ecx, esi
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x442561
test dl, dl
je 0x44255d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x442561
add eax, 2
add ecx, 2
test dl, dl
jne 0x442541
xor eax, eax
jmp 0x442566
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4425c7
lea eax, [ebp - 0x38]
push eax
call fcn.0045b520
push dword [ebp - 0x181c]
push edi
push ebx
call fcn.00576360
push edi
call fcn.00592c4b
add esp, 0x14
cmp word [0x643748], 0
je 0x442d1d
cmp dword [ebp - 0x1808], 0
je 0x442d1d
push 0
push 0x80
push 3
push 0
push 0
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jmp 0x4417c3
push dword [ebp - 0x181c]
lea eax, [ebp - 0x1840]
push edi
push eax
call fcn.00438720
add esp, 0xc
push edi
call fcn.00592c4b
add esp, 4
lea eax, [ebp - 0x38]
push eax
call fcn.0045b520
add esp, 4
mov ecx, dword [0x6437c0]
mov eax, dword [0x6437c4]
test ecx, ecx
jne 0x442605
test eax, eax
je 0x442633
push dword [0x6437c8]
push dword [0x6437cc]
push dword [0x6437d0]
push eax
push ecx
lea eax, [ebp - 0x186c]
push eax
call fcn.00459fe0
mov eax, 1
add esp, 0x18
mov word [0x643750], ax
cmp byte [0x64370b], 0
jne 0x442704
cmp dword [0x643760], 0
je 0x442657
cmp word [0x63735c], 0xffff
jne 0x442704
movsx eax, word [ebp - 0x1610]
push eax
call fcn.0045b120
add esp, 4
test eax, eax
je 0x442704
mov edx, dword [0x643760]
test edx, edx
je 0x442690
mov ecx, edx
lea edi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442680
sub ecx, edi
cmp byte [edx + ecx - 1], 0x25
je 0x4426a2
push 0x2e
push esi
call fcn.00596630
add esp, 8
test eax, eax
je 0x4426a2
mov byte [eax], 0
lea edi, [esi - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4426a5
mov ax, word [0x5c4b5c]
mov word [edi], ax
movsx eax, word [ebp - 0x1610]
push eax
call fcn.0045b120
mov edx, eax
add esp, 4
mov ecx, edx
mov dword [ebp - 0x1818], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x4426d2
sub edx, ecx
dec esi
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4426e0
mov edi, esi
mov ecx, edx
mov esi, dword [ebp - 0x1818]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1870]
test esi, esi
je 0x442745
cmp byte [esi], 0
je 0x442745
lea eax, [ebp - 0x1818]
push eax
push 0x104
lea eax, [ebp - 0x148]
push eax
push esi
call fcn.0045c8d0
mov eax, dword [ebp - 0x1818]
add esp, 0x10
test eax, eax
je 0x442736
mov byte [eax], 0
lea eax, [ebp - 0x148]
push eax
call fcn.00444460
add esp, 4
cmp word [0x643750], 0
je 0x442759
or dword [ebp - 0x160c], 0x2000000
test byte [0x6436f4], 2
je 0x442778
push 0x5c4768
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 8
mov eax, dword [0x64377c]
test eax, eax
je 0x4427b2
push 0x100
lea ecx, [ebp - 0x1584]
push ecx
push eax
call fcn.0045bc40
movzx eax, byte [ebp - 0x1598]
add esp, 0xc
cmp dword [ebp - 0x1584], 0
mov ecx, 1
cmovne eax, ecx
mov byte [ebp - 0x1598], al
movsx edi, word [0x6436fc]
xor eax, eax
mov cx, word [ebp - 0x1860]
mov word [ebp - 0x15b4], ax
mov ax, word [0x637360]
test ax, ax
js 0x4427da
cmp cx, 1
je 0x442802
mov ax, word [0x637364]
test ax, ax
js 0x4427eb
cmp cx, 2
je 0x442802
mov ax, word [0x637368]
test ax, ax
js 0x442805
test dword [ebp - 0x1860], 0x7f0
je 0x442805
movsx edi, ax
push str.tiff
call fcn.0045b150
movsx ecx, word [ebp - 0x1610]
add esp, 4
test edi, edi
js 0x44282f
cmp ecx, eax
jne 0x442826
cmp edi, 8
je case.0x442872.2
mov word [ebp - 0x15b4], di
jmp case.default.0x442872
cmp ecx, eax
jne case.default.0x442872
movzx eax, word [ebp - 0x17dc]
dec eax
cmp word [ebp - 0x1860], 1
jne 0x44286d
cmp eax, 8
ja case.default.0x442872
jmp dword [eax*4 + 0x442da0]
mov eax, 1
jmp 0x442885
mov eax, 4
jmp 0x442885
mov eax, 6
jmp 0x442885
mov eax, 7
jmp 0x442885
cmp eax, 3
ja case.default.0x442872
jmp dword [eax*4 + 0x442dc4]
mov eax, 2
jmp 0x442885
mov eax, 5
mov word [ebp - 0x15b4], ax
movzx eax, word [0x63736c]
mov word [ebp - 0x15b2], ax
movzx eax, word [0x637370]
mov word [ebp - 0x15b0], ax
mov al, byte [0x643724]
mov byte [ebp - 0x159e], al
mov al, byte [0x6436fa]
mov byte [ebp - 0x159d], al
mov al, byte [0x6436f6]
mov byte [ebp - 0x159b], al
mov al, byte [0x6436f7]
movzx edx, word [ebp - 0x15aa]
mov byte [ebp - 0x159c], al
mov al, byte [0x64372c]
mov byte [ebp - 0x159a], al
mov al, byte [0x643790]
mov byte [ebp - 0x1597], al
mov al, byte [0x643794]
mov byte [ebp - 0x1599], al
movzx eax, word [0x643738]
mov word [ebp - 0x15b8], ax
movzx eax, word [0x637390]
mov word [ebp - 0x15b6], ax
mov eax, dword [0x637384]
test eax, eax
movzx ecx, ax
mov eax, dword [0x637388]
cmovg edx, ecx
test eax, eax
movzx ecx, ax
mov eax, dword [0x63738c]
mov word [ebp - 0x15aa], dx
movzx edx, word [ebp - 0x15ac]
cmovg edx, ecx
test eax, eax
movzx ecx, ax
mov eax, dword [0x643730]
mov word [ebp - 0x15ac], dx
movzx edx, word [ebp - 0x15a8]
cmovg edx, ecx
test eax, eax
movzx ecx, ax
mov eax, dword [0x643734]
mov word [ebp - 0x15a8], dx
movzx edx, word [ebp - 0x1596]
cmovg edx, ecx
mov ecx, dword [ebp - 0x1594]
test eax, eax
mov word [ebp - 0x1596], dx
cmovne ecx, eax
mov al, byte [0x643706]
mov byte [ebp - 0x15a0], al
mov al, byte [0x643707]
mov byte [ebp - 0x159f], al
mov ax, word [0x637380]
mov dword [ebp - 0x1594], ecx
test ax, ax
jle 0x4429d1
cwde
push eax
push eax
push dword [ebp - 0x1840]
mov dword [ebp - 0x1850], eax
mov dword [ebp - 0x1854], eax
call fcn.004389c0
add esp, 0xc
mov ax, word [0x643754]
test ax, ax
je 0x4429ec
cwde
push eax
push dword [ebp - 0x1840]
call fcn.00438b30
add esp, 8
cmp word [ebp - 0x185e], 1
jne 0x442a6c
mov ax, word [0x637394]
cmp ax, 0xffff
je 0x442a0b
mov word [ebp - 0x184a], ax
jmp 0x442a6c
mov edx, dword [ebp - 0x1848]
test edx, edx
je 0x442a6c
movsx edi, word [ebp - 0x184c]
xor ecx, ecx
test edi, edi
jle 0x442a6c
movsx eax, word [0x637398]
mov dword [ebp - 0x1818], eax
nop
movzx eax, byte [ecx + edx]
cmp eax, dword [ebp - 0x1818]
jne 0x442a5e
movzx eax, byte [ecx + edx + 0x100]
cmp ax, word [0x63739c]
jne 0x442a5e
movzx eax, byte [ecx + edx + 0x200]
cmp ax, word [0x6373a0]
je 0x442a65
inc ecx
cmp ecx, edi
jl 0x442a30
jmp 0x442a6c
mov word [ebp - 0x184a], cx
mov eax, dword [ebp - 0x1820]
test eax, eax
je 0x442a95
lea ecx, [ebp - 0x1610]
push ecx
lea ecx, [ebp - 0x186c]
push ecx
push eax
call fcn.0045a8e0
add esp, 0xc
movzx edi, ax
jmp 0x442b98
cmp dword [0x6437b0], 0
je 0x442ab8
lea eax, [ebp - 0x186c]
push eax
call fcn.00443320
mov edi, dword [ebp - 0x1804]
add esp, 4
jmp 0x442b98
cmp byte [0x64370a], 0
jne 0x442b6b
lea eax, [ebp - 0x34]
push eax
push esi
call fcn.005970a6
add esp, 8
test eax, eax
jne 0x442b49
push 0x2e
push esi
call fcn.00596630
mov edi, eax
add esp, 8
test edi, edi
je 0x442b35
lea edx, [ebp - 0x348]
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x442af1
mov eax, edi
sub eax, esi
push edi
mov byte [ebp + eax - 0x348], 0
lea eax, [ebp - 0x348]
push eax
call fcn.00443b90
lea ecx, [ebp - 0x348]
mov edx, esi
mov eax, ecx
add esp, 8
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x442b26
jmp 0x442b49
lea eax, [ebp - 0x348]
push 0x5c2576
push eax
call fcn.00443b90
add esp, 8
push 0x628c60
push esi
call fcn.005931b4
add esp, 8
test eax, eax
je 0x442b6b
push eax
call fcn.00593079
add esp, 4
mov edi, 0x200
jmp 0x442b98
lea eax, [ebp - 0x1610]
push eax
lea eax, [ebp - 0x186c]
push eax
push esi
call fcn.0045bff0
movzx edi, ax
add esp, 0xc
test di, di
jne 0x442b92
inc dword [0x6437e0]
jmp 0x442b98
inc dword [0x6437e4]
mov eax, dword [ebp - 0x1584]
test eax, eax
je 0x442bab
push eax
call fcn.00592c4b
add esp, 4
lea eax, [ebp - 0x186c]
push eax
call fcn.0045b520
lea eax, [ebp - 0x17fc]
push eax
call fcn.0045acb0
mov eax, dword [ebp - 0x1820]
add esp, 8
test eax, eax
jne 0x442d30
test di, di
jne 0x442d39
cmp word [0x643748], di
je 0x442c2e
cmp dword [ebp - 0x1808], eax
je 0x442c2e
push eax
push 0x80
push 3
push eax
push eax
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x442c2e
lea eax, [ebp - 0x1828]
push eax
lea eax, [ebp - 0x1830]
push eax
lea eax, [ebp - 0x1838]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test byte [0x6436f4], 2
je 0x442c4d
push 0x5c4768
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 8
cmp dword [ebp + 0x1c], 0
je 0x442c75
cmp word [0x6436f8], 0
jne 0x442c75
push esi
push ebx
push str.Conversion_of__s_into__s_OK_n
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 0x10
cmp word [0x643700], 0
je 0x442cfd
lea eax, [ebp - 0x1809]
push eax
push 0x104
lea eax, [ebp - 0x24c]
push eax
push ebx
call fcn.0045c8d0
lea eax, [ebp - 0x1809]
push eax
push 0x104
lea eax, [ebp - 0x148]
push eax
push esi
call fcn.0045c8d0
add esp, 0x20
cmp word [0x643700], 0
je 0x442cfd
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.00452150
add esp, 8
test eax, eax
je 0x442cfd
cmp word [0x643728], 0
je 0x442cf4
mov eax, dword [ebp - 0x1810]
mov eax, dword [eax]
dec eax
cmp dword [ebp + 0xc], eax
jne 0x442cfd
push ebx
call fcn.0059630e
add esp, 4
cmp word [0x6436f4], 0
je 0x442d1d
push 0x5c4768
call fcn.00592f31
add eax, 0x40
push eax
call fcn.0059320e
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
test di, di
je 0x442c2e
push 0xffffffffffffffff
lea eax, [ebp - 0x165c]
push eax
push edi
push 0
push esi
call fcn.004431e0
mov ecx, dword [ebp - 4]
add esp, 0x14
xor ecx, ebp
or eax, 0xffffffff
pop edi
pop esi
pop ebx
call fcn.005920c1
mov esp, ebp
pop ebp
ret