Function at 0x41f5a0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43f380
mov eax, dword fs:[0]
push eax
mov eax, 0x1600
call fcn.00427f00
mov eax, dword [0x44ef24]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x15f4], 0
push 0x208
push eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2a4]
push eax
mov dword [ebp - 0x160c], ebx
call sub.msvcrt.dll_memset
push 0x824
lea eax, [ebp - 0xcd0]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x32
lea eax, [ebp - 0x74]
push 0
push eax
call sub.msvcrt.dll_memset
mov dword [ebp - 0x155c], 0
mov dword [ebp - 0x1558], 0xf
mov byte [ebp - 0x156c], 0
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push esi
push edi
push ebx
push str._WebProtectPlugin::SRAddressBarJump_url:_s_level:_d_type:_d
mov dword [ebp - 4], 0
call fcn.00401530
xor eax, eax
cmp esi, 0x64
push 1
sete al
push eax
push 0
push ebx
push 1
call fcn.0041f210
mov eax, edi
add esp, 0x48
and eax, 0xe0000
cmp eax, 0x40000
je 0x42043a
cmp eax, 0x60000
je 0x42043a
xor ecx, ecx
cmp eax, 0x80000
push 0x824
sete cl
lea eax, [ebp - 0x14f4]
push 0
push eax
lea ecx, [ecx*2 + 1]
mov dword [ebp - 0x15f8], ecx
call sub.msvcrt.dll_memset
mov edi, ebx
add esp, 0xc
lea ecx, [edi + 1]
lea ecx, [ecx]
mov al, byte [edi]
inc edi
test al, al
jne 0x41f6d0
sub edi, ecx
cmp edi, 0xffffffff
jne 0x41f6ec
mov edi, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x41f6e3
sub edi, ecx
xor eax, eax
mov dword [ebp - 0x1600], 0
mov dword [ebp - 0x1604], eax
lea ecx, [ebp - 0x14f4]
mov dword [ebp - 0x15f0], ecx
test edi, edi
jle 0x41f7ec
mov bl, byte [ebx + eax]
cmp bl, 0x20
jne 0x41f725
mov word [ebp - 0x15f4], 0x2b
jmp 0x41f761
movzx esi, bl
push esi
call sub.msvcrt.dll_isalnum
add esp, 4
test eax, eax
jne 0x41f74e
push esi
push str.___2.2X
lea eax, [ebp - 0x15f4]
push 4
push eax
call fcn.004212a0
add esp, 0x10
jmp 0x41f75b
mov byte [ebp - 0x15f4], bl
mov byte [ebp - 0x15f3], 0
mov ecx, dword [ebp - 0x15f0]
lea edx, [ebp - 0x15f4]
lea esi, [edx + 1]
lea ebx, [ebx]
mov al, byte [edx]
inc edx
test al, al
jne 0x41f770
mov eax, dword [ebp - 0x1600]
sub edx, esi
add eax, edx
mov dword [ebp - 0x1600], eax
cmp eax, 0x824
jge 0x41f7ec
lea ebx, [ebp - 0x15f4]
mov esi, 0x824
sub ebx, dword [ebp - 0x15f0]
nop
lea eax, [esi + 0x7ffff7da]
test eax, eax
je 0x41f7bb
mov al, byte [ecx + ebx]
test al, al
je 0x41f7bb
mov byte [ecx], al
inc ecx
sub esi, 1
jne 0x41f7a0
jmp 0x41f7bf
test esi, esi
jne 0x41f7c0
dec ecx
mov eax, dword [ebp - 0x1604]
mov ebx, dword [ebp - 0x160c]
inc eax
mov byte [ecx], 0
mov ecx, dword [ebp - 0x15f0]
add ecx, edx
mov dword [ebp - 0x1604], eax
mov dword [ebp - 0x15f0], ecx
cmp eax, edi
jl 0x41f712
push 0x104
lea eax, [ebp - 0x2a4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x15f0]
mov dword [ebp - 0x1604], 0
push eax
lea eax, [ebp - 0x2a4]
xor esi, esi
push eax
xor edi, edi
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x1600], eax
test eax, eax
je 0x41f8b6
push eax
call sub.msvcrt.dll_malloc
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41f8b6
push ebx
push dword [ebp - 0x1600]
lea eax, [ebp - 0x2a4]
push edi
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x41f881
lea eax, [ebp - 0x15f4]
push eax
lea eax, [ebp - 0x1600]
push eax
push 0x441570
push ebx
call sub.VERSION.dll_VerQueryValueW
mov ecx, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
push ebx
call sub.msvcrt.dll_free
add esp, 4
cmp dword [ebp - 0x1604], 0
je 0x41f8b6
movzx eax, di
push eax
shr edi, 0x10
push edi
movzx eax, si
push eax
shr esi, 0x10
lea eax, [ebp - 0x30]
push esi
push str._d._d._d._d
push 0x20
push eax
call fcn.004212a0
add esp, 0x1c
mov eax, dword fs:[0x2c]
mov ecx, dword [0x4512f8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x45057c]
cmp eax, dword [ecx + 4]
jg 0x4205cc
cmp dword [0x450368], 0
je 0x41f8f1
mov eax, dword [0x450578]
test eax, eax
je 0x41f8f1
push 0
call eax
add esp, 4
jmp 0x41f8f3
xor eax, eax
and al, 1
je 0x41f906
call fcn.00404300
xor ebx, ebx
test al, al
setne bl
inc ebx
jmp 0x41f908
xor ebx, ebx
mov ecx, 0x44e434
mov dword [ebp - 0x14fc], 0
xor eax, eax
mov dword [ebp - 0x14f8], 7
mov word [ebp - 0x150c], ax
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f930
sub ecx, edx
sar ecx, 1
push ecx
push 0x44e434
lea ecx, [ebp - 0x150c]
call fcn.00403680
mov dword [ebp - 0x1514], 0
mov dword [ebp - 0x1510], 0xf
mov byte [ebp - 0x1524], 0
cmp dword [ebp - 0x14f8], 8
lea eax, [ebp - 0x150c]
mov byte [ebp - 4], 3
jb 0x41f984
mov eax, dword [ebp - 0x150c]
push 0
push 0
push 0
push 0
push dword [ebp - 0x14fc]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
push edi
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x41f9fe
cmp dword [ebp - 0x14f8], 8
lea eax, [ebp - 0x150c]
jb 0x41f9ca
mov eax, dword [ebp - 0x150c]
push 0
push 0
push edi
push esi
push dword [ebp - 0x14fc]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
push esi
lea ecx, [ebp - 0x1524]
call fcn.0040a550
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [ebp - 0x1524]
push eax
lea ecx, [ebp - 0x153c]
call fcn.0041caa0
mov edx, dword [ebp - 0x1510]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x41fa4e
mov ecx, dword [ebp - 0x1524]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41fa44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42060a
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
mov eax, dword [ebp - 0x1538]
mov ecx, dword [ebp - 0x153c]
mov dword [ebp - 0x1580], eax
mov eax, dword [ebp - 0x1534]
mov dword [ebp - 0x157c], eax
mov eax, dword [ebp - 0x1530]
mov dword [ebp - 0x1578], eax
mov eax, dword [ebp - 0x152c]
mov dword [ebp - 0x1574], eax
mov eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1584], ecx
mov dword [ebp - 0x1570], eax
mov edx, dword [ebp - 0x14f8]
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x41fae6
mov ecx, dword [ebp - 0x150c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41fad0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42060f
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x1570]
add esp, 8
mov ecx, dword [ebp - 0x1584]
xor edx, edx
mov dword [ebp - 0x14fc], 0
mov word [ebp - 0x150c], dx
lea edx, [ebp - 0x1584]
mov dword [ebp - 0x14f8], 7
cmp eax, 0x10
jb 0x41fb10
mov edx, ecx
push ebx
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x160c]
lea eax, [ebp - 0xcd0]
push dword [ebp - 0x15f8]
push edx
push str._s_d_s_s_db85fe0ac4072661d65edbccbbb13ebb0
push 0x824
push eax
call fcn.004212a0
add esp, 0x20
lea eax, [ebp - 0xcd0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
lea eax, [ebp - 0x15ec]
push eax
call fcn.0040afb0
push esi
lea eax, [ebp - 0xcd0]
push eax
lea eax, [ebp - 0x15ec]
push eax
call fcn.0040aff0
lea eax, [ebp - 0x15ec]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040ade0
add esp, 0x18
lea edi, [ebp - 0x9c]
xor esi, esi
movzx eax, byte [ebp + esi - 0x40]
push eax
push str._02x
push 5
push edi
call fcn.004212a0
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jl 0x41fb85
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
lea eax, [ebp - 0x74]
push edi
push 0x444ed4
push 0x32
push eax
call fcn.004212a0
add esp, 0x10
cmp byte [0x4502d0], 0
jne 0x41fc2c
push 0x208
lea eax, [ebp - 0x4ac]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4ac]
push str.360verify.dll
push 0x44fa20
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0
push 1
lea eax, [ebp - 0x4ac]
push eax
call fcn.00422a00
mov esi, eax
test esi, esi
je 0x41fc2c
push str.GetCIDA
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41fc25
push 0x64
push 0x4502d0
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x1570], 0x10
lea eax, [ebp - 0x1584]
jb 0x41fc41
mov eax, dword [ebp - 0x1584]
lea ecx, [ebp - 0x9c]
push ecx
push ebx
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x14f4]
push ecx
push edi
push 0x4502d0
push dword [ebp - 0x15f8]
push eax
push str.360rp1from_stype_dmid_s360safeparam_uurl_sver_scontent_dsign_s
lea eax, [ebp - 0xcd0]
push 0x824
push eax
call fcn.004212a0
mov ecx, 0x44fda8
mov dword [ebp - 0x1514], 0
add esp, 0x2c
mov dword [ebp - 0x1510], 7
xor eax, eax
mov word [ebp - 0x1524], ax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41fca0
sub ecx, edx
sar ecx, 1
push ecx
push 0x44fda8
lea ecx, [ebp - 0x1524]
call fcn.00403680
mov dword [ebp - 0x152c], 0
mov dword [ebp - 0x1528], 0xf
mov byte [ebp - 0x153c], 0
cmp dword [ebp - 0x1510], 8
lea eax, [ebp - 0x1524]
mov byte [ebp - 4], 7
jb 0x41fcf4
mov eax, dword [ebp - 0x1524]
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0
push 0
push dword [ebp - 0x1514]
push eax
push 0
push 0
call ebx
mov edi, eax
push edi
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
test esi, esi
je 0x41fd6c
cmp dword [ebp - 0x1510], 8
lea eax, [ebp - 0x1524]
jb 0x41fd3c
mov eax, dword [ebp - 0x1524]
push 0
push 0
push edi
push esi
push dword [ebp - 0x1514]
push eax
push 0
push 0
call ebx
push edi
push esi
lea ecx, [ebp - 0x153c]
call fcn.0040a550
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [ebp - 0x153c]
push eax
lea ecx, [ebp - 0x150c]
call fcn.0041caa0
mov edx, dword [ebp - 0x1528]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x41fdbc
mov ecx, dword [ebp - 0x153c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41fdb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420614
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
mov eax, dword [ebp - 0x1508]
mov esi, dword [ebp - 0x150c]
mov ebx, dword [ebp - 0x14fc]
mov edi, dword [ebp - 0x14f8]
mov dword [ebp - 0x1550], eax
mov eax, dword [ebp - 0x1504]
mov dword [ebp - 0x154c], eax
mov eax, dword [ebp - 0x1500]
mov dword [ebp - 0x1554], esi
mov dword [ebp - 0x1548], eax
mov dword [ebp - 0x1544], ebx
mov dword [ebp - 0x1540], edi
mov edx, dword [ebp - 0x1510]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x41fe48
mov ecx, dword [ebp - 0x1524]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41fe3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420619
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
xor eax, eax
mov dword [ebp - 0x1514], 0
mov dword [ebp - 0x1510], 7
mov word [ebp - 0x1524], ax
test ebx, ebx
jne 0x41fe8d
push 0x29
push str.https:__info.url.cloud.360safe.com_warn__
lea ecx, [ebp - 0x1554]
call fcn.0040a550
mov edi, dword [ebp - 0x1540]
mov ebx, dword [ebp - 0x1544]
mov esi, dword [ebp - 0x1554]
lea eax, [ebp - 0x1554]
mov dword [ebp - 0x15f8], eax
cmp edi, 0x10
jb 0x41fea6
mov eax, esi
mov dword [ebp - 0x15f8], esi
test ebx, ebx
je 0x4200ed
push ebx
push 0x3f
push eax
call sub.msvcrt.dll_memchr
add esp, 0xc
test eax, eax
je 0x4200ed
sub eax, dword [ebp - 0x15f8]
cmp eax, 0xffffffff
je 0x4200ed
test ebx, ebx
jle 0x41ff00
lea ecx, [ebx - 1]
cmp ebx, ecx
jbe 0x42061e
lea eax, [ebp - 0x1554]
cmp edi, 0x10
jb 0x41feed
mov eax, esi
mov al, byte [eax + ecx]
cmp al, 0x3f
je 0x420310
cmp al, 0x26
je 0x420310
lea eax, [ebx + 1]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x150c]
mov dword [ebp - 0x14fc], 0
mov dword [ebp - 0x14f8], 0xf
mov byte [ebp - 0x150c], 0
mov dword [ebp - 0x15f4], 0xb
call fcn.00410d50
lea eax, [ebp - 0x1554]
cmp edi, 0x10
jb 0x41ff45
mov eax, esi
push ebx
push eax
lea ecx, [ebp - 0x150c]
call fcn.0040fd20
mov edx, dword [ebp - 0x14fc]
mov esi, dword [ebp - 0x14f8]
mov dword [ebp - 0x15f0], edx
mov dword [ebp - 0x15f8], esi
cmp edx, esi
jae 0x41ffa5
lea eax, [edx + 1]
mov dword [ebp - 0x14fc], eax
lea eax, [ebp - 0x150c]
cmp esi, 0x10
jb 0x41ff88
mov eax, dword [ebp - 0x150c]
mov word [eax + edx], 0x26
mov edi, dword [ebp - 0x14f8]
mov ebx, dword [ebp - 0x14fc]
mov esi, dword [ebp - 0x150c]
jmp 0x420081
mov ecx, 0x7fffffff
mov eax, ecx
sub eax, edx
cmp eax, 1
jb 0x420623
lea ebx, [edx + 1]
mov eax, ebx
or eax, 0xf
cmp eax, ecx
jbe 0x41ffc7
mov edi, ecx
jmp 0x41ffe1
mov edx, esi
shr edx, 1
sub ecx, edx
cmp esi, ecx
jbe 0x41ffd8
mov edi, 0x7fffffff
jmp 0x41ffe1
lea edi, [esi + edx]
cmp eax, edi
jb 0x41ffe1
mov edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x150c]
call fcn.004025d0
cmp dword [ebp - 0x15f8], 0x10
mov esi, eax
push dword [ebp - 0x15f0]
mov dword [ebp - 0x14fc], ebx
mov dword [ebp - 0x14f8], edi
jb 0x42005f
push dword [ebp - 0x150c]
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15f0]
add esp, 0xc
mov edx, dword [ebp - 0x15f8]
mov ecx, dword [ebp - 0x150c]
inc edx
mov word [esi + eax], 0x26
mov eax, ecx
cmp edx, 0x1000
jb 0x420053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420628
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
jmp 0x42007b
lea eax, [ebp - 0x150c]
push eax
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15f0]
add esp, 0xc
mov word [esi + eax], 0x26
mov dword [ebp - 0x150c], esi
lea ecx, [ebp - 0x1554]
call fcn.00401930
mov eax, dword [ebp - 0x1508]
lea ecx, [ebp - 0x150c]
mov dword [ebp - 0x1550], eax
mov eax, dword [ebp - 0x1504]
mov dword [ebp - 0x154c], eax
mov eax, dword [ebp - 0x1500]
mov dword [ebp - 0x1554], esi
mov dword [ebp - 0x1548], eax
mov dword [ebp - 0x1544], ebx
mov dword [ebp - 0x1540], edi
mov dword [ebp - 0x14fc], 0
mov dword [ebp - 0x14f8], 0xf
mov byte [ebp - 0x150c], 0
call fcn.00401930
jmp 0x420310
lea eax, [ebx + 1]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x150c]
mov dword [ebp - 0x14fc], 0
mov dword [ebp - 0x14f8], 0xf
mov byte [ebp - 0x150c], 0
mov dword [ebp - 0x15f4], 7
call fcn.00410d50
lea eax, [ebp - 0x1554]
cmp edi, 0x10
jb 0x420132
mov eax, esi
push ebx
push eax
lea ecx, [ebp - 0x150c]
call fcn.0040fd20
mov edx, dword [ebp - 0x14fc]
mov esi, dword [ebp - 0x14f8]
mov dword [ebp - 0x15f0], edx
mov dword [ebp - 0x15f8], esi
cmp edx, esi
jae 0x420192
lea eax, [edx + 1]
mov dword [ebp - 0x14fc], eax
lea eax, [ebp - 0x150c]
cmp esi, 0x10
jb 0x420175
mov eax, dword [ebp - 0x150c]
mov word [eax + edx], 0x3f
mov edi, dword [ebp - 0x14f8]
mov ebx, dword [ebp - 0x14fc]
mov esi, dword [ebp - 0x150c]
jmp 0x4202a0
mov ecx, 0x7fffffff
mov eax, ecx
sub eax, edx
cmp eax, 1
jb 0x42062d
lea ebx, [edx + 1]
mov eax, ebx
or eax, 0xf
cmp eax, ecx
jbe 0x4201b4
mov edi, ecx
jmp 0x4201cd
mov edi, esi
shr edi, 1
sub ecx, edi
cmp esi, ecx
jbe 0x4201c5
mov edi, 0x7fffffff
jmp 0x4201cd
add edi, esi
cmp eax, edi
jb 0x4201cd
mov edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x420203
lea ecx, [eax + 0x23]
cmp ecx, eax
ja 0x4201e1
or ecx, 0xffffffff
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x42060a
mov edx, dword [ebp - 0x15f0]
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x42021c
test eax, eax
je 0x42021a
push eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [ebp - 0x15f0]
add esp, 4
mov esi, eax
jmp 0x42021c
xor esi, esi
cmp dword [ebp - 0x15f8], 0x10
mov dword [ebp - 0x14fc], ebx
mov dword [ebp - 0x14f8], edi
push edx
jb 0x420284
push dword [ebp - 0x150c]
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15f0]
add esp, 0xc
mov edx, dword [ebp - 0x15f8]
mov ecx, dword [ebp - 0x150c]
inc edx
mov word [eax + esi], 0x3f
mov eax, ecx
cmp edx, 0x1000
jb 0x420278
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420632
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
jmp 0x4202a0
lea eax, [ebp - 0x150c]
push eax
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x15f0]
add esp, 0xc
mov word [eax + esi], 0x3f
mov edx, dword [ebp - 0x1540]
cmp edx, 0x10
jb 0x4202da
mov ecx, dword [ebp - 0x1554]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4202d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420637
push edx
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 8
mov eax, dword [ebp - 0x1508]
mov dword [ebp - 0x1550], eax
mov eax, dword [ebp - 0x1504]
mov dword [ebp - 0x154c], eax
mov eax, dword [ebp - 0x1500]
mov dword [ebp - 0x1554], esi
mov dword [ebp - 0x1548], eax
mov dword [ebp - 0x1544], ebx
mov dword [ebp - 0x1540], edi
lea ecx, [ebp - 0xcd0]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1514], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1510], 0xf
mov byte [ebp - 0x1524], 0
mov dword [ebp - 0x15f4], 0x13
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420342
sub ecx, edx
lea eax, [ebx + ecx]
push eax
lea ecx, [ebp - 0x1524]
call fcn.00410d50
lea eax, [ebp - 0x1554]
cmp edi, 0x10
jb 0x420367
mov eax, esi
push ebx
push eax
lea ecx, [ebp - 0x1524]
call fcn.0040fd20
lea ecx, [ebp - 0xcd0]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420380
sub ecx, edx
lea eax, [ebp - 0xcd0]
push ecx
push eax
lea ecx, [ebp - 0x1524]
call fcn.0040fd20
lea ecx, [ebp - 0x156c]
call fcn.00401930
mov eax, dword [ebp - 0x1524]
lea ecx, [ebp - 0x1524]
mov dword [ebp - 0x156c], eax
mov eax, dword [ebp - 0x1520]
mov dword [ebp - 0x1568], eax
mov eax, dword [ebp - 0x151c]
mov dword [ebp - 0x1564], eax
mov eax, dword [ebp - 0x1518]
mov dword [ebp - 0x1560], eax
mov eax, dword [ebp - 0x1514]
mov dword [ebp - 0x155c], eax
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1558], eax
mov dword [ebp - 0x1514], 0
mov dword [ebp - 0x1510], 0xf
mov byte [ebp - 0x1524], 0
call fcn.00401930
lea ecx, [ebp - 0x1554]
call fcn.00401930
lea ecx, [ebp - 0x1584]
mov byte [ebp - 4], 0
call fcn.00401930
mov ebx, dword [ebp - 0x160c]
mov edi, dword [ebp + 0xc]
jmp 0x42044c
push 0xb
push str.about:blank
lea ecx, [ebp - 0x156c]
call fcn.0040a550
cmp dword [ebp - 0x155c], 0
je 0x420532
lea eax, [ebp - 0x156c]
push eax
call fcn.0041ece0
add esp, 4
test al, al
jne 0x4204dc
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x152c], 0
mov dword [ebp - 0x1528], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x153c], al
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420490
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x153c]
call fcn.0040a550
push dword [ebp - 0x15f8]
lea eax, [ebp - 0x153c]
mov byte [ebp - 4], 0xd
push eax
push 0
lea eax, [ebp - 0x15fc]
mov ecx, 0x450348
push eax
call fcn.0041c890
lea ecx, [ebp - 0x153c]
mov byte [ebp - 4], 0
call fcn.00401930
mov ecx, ebx
mov dword [ebp - 0x152c], 0
mov dword [ebp - 0x1528], 0xf
mov byte [ebp - 0x153c], 0
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420500
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x153c]
call fcn.0040a550
lea eax, [ebp - 0x156c]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x153c]
push eax
call fcn.00421770
add esp, 8
jmp 0x42059a
test edi, 0x10000
jne 0x4205a5
mov ecx, ebx
mov dword [ebp - 0x152c], 0
mov dword [ebp - 0x1528], 0xf
mov byte [ebp - 0x153c], 0
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420560
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x153c]
call fcn.0040a550
push dword [ebp - 0x15f8]
lea eax, [ebp - 0x153c]
mov byte [ebp - 4], 0xf
push eax
push 0
lea eax, [ebp - 0x15fc]
mov ecx, 0x450338
push eax
call fcn.0041c890
lea ecx, [ebp - 0x153c]
call fcn.00401930
lea ecx, [ebp - 0x156c]
call fcn.00401930
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00427ee9
mov esp, ebp
pop ebp
ret
push 0x45057c
call fcn.004253b0
add esp, 4
cmp dword [0x45057c], 0xffffffff
jne 0x41f8d6
mov ecx, 0x450368
mov byte [ebp - 4], 1
call fcn.0041cdd0
push 0x45057c
mov byte [ebp - 4], 0
call fcn.004252f0
add esp, 4
jmp 0x41f8d6
call fcn.004262c0
call fcn.004262c0
call fcn.004262c0
call fcn.004262c0
call fcn.00421be0
call fcn.004025b0
call fcn.004262c0
call fcn.004025b0
call fcn.004262c0
call fcn.004262c0
int3