Function at 0x414200
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ba5c
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x4961ec]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], al
xorps xmm0, xmm0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x40]
movq qword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x40], xmm0
call fcn.00425c00
push 0xfde9
push dword [0x496160]
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 2
push eax
call fcn.0041d250
add esp, 0xc
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.00422610
push 0xa
push 0x4791e0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 4
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x414320
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414316
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415418
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00422d40
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x414381
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414377
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41541d
push edx
push ecx
call fcn.0042ec84
add esp, 8
call fcn.00415490
lea ecx, [ebp - 0xb8]
push dword [eax + 0xc]
call fcn.00422680
push 5
push str.layer
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x414424
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41441a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415422
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0xfde9
push dword [esi + 0x8c]
lea eax, [ebp - 0xb8]
push eax
call fcn.0041d250
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x41449a
mov ecx, eax
call fcn.00403870
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x4144d4
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4144ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415427
push edx
push ecx
call fcn.0042ec84
add esp, 8
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0xb8]
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.00422740
push 3
push 0x4791f4
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x41457b
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414571
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41542c
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0x477646
lea ecx, [ebp - 0xb8]
call fcn.00422740
push 9
push str.retry_url
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x414645
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41463b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415431
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0
lea ecx, [ebp - 0xb8]
call fcn.00422680
push 7
push str.timeout
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x41470c
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414702
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415436
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0x479214
lea ecx, [ebp - 0xb8]
call fcn.00422740
push 5
push str.entry
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x4147d6
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4147cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41543b
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0x479228
lea ecx, [ebp - 0xb8]
call fcn.00422740
push 0xd
push str.register_func
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x4148a0
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414896
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415440
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
call fcn.00415490
lea ecx, [ebp - 0xb8]
push dword [eax + 0x10]
call fcn.00422680
push 0xe
push str.is_tool_window
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x41496d
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414963
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415445
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push 0x84
lea ecx, [ebp - 0xb8]
call fcn.00422680
push 4
push str.icon
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x414a37
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414a2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41544a
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
call fcn.00415490
mov eax, dword [eax + 8]
cmp dword [eax - 0xc], 0
je 0x414bd6
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x414bd6
call fcn.00415490
mov eax, dword [eax + 8]
sub eax, 0x10
push eax
call fcn.004044d0
lea esi, [eax + 0x10]
mov eax, 2
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], eax
push 0xfde9
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push esi
push eax
call fcn.0041d250
add esp, 0x10
mov byte [ebp - 4], 0x18
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x414ad9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00422610
push 9
push str.icon_path
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x19
cmp edx, 0x10
jb 0x414b78
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414b6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41544f
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00422d40
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x414bd6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414bcc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415454
push edx
push ecx
call fcn.0042ec84
add esp, 8
push 0x479260
lea ecx, [ebp - 0xb8]
call fcn.00422740
push 0xe
push str.is_shadow_edge
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x1b
cmp edx, 0x10
jb 0x414c76
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414c6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415459
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
push str.__disable_pinch___disable_web_security___disable_alt_f4
lea ecx, [ebp - 0xb8]
call fcn.00422740
push 0xf
push 0x479264
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x1d
cmp edx, 0x10
jb 0x414d40
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414d36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41545e
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 2
call fcn.00422d40
xorps xmm0, xmm0
lea ecx, [ebp - 0x70]
movups xmmword [ebp - 0x70], xmm0
movq qword [ebp - 0x60], xmm0
call fcn.00425c00
push 0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00422680
push 4
push str.left
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x70]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x20
cmp edx, 0x10
jb 0x414e1f
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414e15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415463
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1f
call fcn.00422d40
push 0
lea ecx, [ebp - 0xb8]
call fcn.00422680
push 3
push 0x4792b4
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x70]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x22
cmp edx, 0x10
jb 0x414ee6
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414edc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415468
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1f
call fcn.00422d40
push 0
lea ecx, [ebp - 0xb8]
call fcn.00422680
push 5
push str.right
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x70]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x24
cmp edx, 0x10
jb 0x414fad
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414fa3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41546d
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1f
call fcn.00422d40
push 0
lea ecx, [ebp - 0xb8]
call fcn.00422680
push 6
push str.bottom
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x70]
call fcn.00425d50
mov ecx, eax
call fcn.00422db0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x26
cmp edx, 0x10
jb 0x415074
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41506a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415472
push edx
push ecx
call fcn.0042ec84
add esp, 8
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1f
call fcn.00422d40
push 0
push 0x477647
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004058e0
push 3
push 0x4792c8
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x70]
call fcn.00426350
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x40]
call fcn.00425d50
mov ecx, eax
call fcn.00422e00
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x28
cmp edx, 0x10
jb 0x415155
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41514b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415477
push edx
push ecx
call fcn.0042ec84
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1f
cmp edx, 0x10
jb 0x4151a8
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41519e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41547c
push edx
push ecx
call fcn.0042ec84
add esp, 8
xorps xmm0, xmm0
lea ecx, [ebp - 0x88]
movups xmmword [ebp - 0x88], xmm0
movq qword [ebp - 0x78], xmm0
call fcn.00425c00
push 0
push 0x47764e
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004058e0
push 6
push str.window
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004058e0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x40]
call fcn.00426350
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x88]
call fcn.00425d50
mov ecx, eax
call fcn.00422e00
lea ecx, [ebp - 0x28]
call fcn.00403870
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2a
call fcn.00403870
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
or dword [ebp - 0xbc], 1
lea ecx, [ebp - 0x28]
push 0
push 0x47764f
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004058e0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x88]
call fcn.004269d0
mov esi, eax
cmp edi, esi
je 0x4152da
mov ecx, edi
call fcn.00403870
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xb8]
call fcn.00403870
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
call fcn.00403870
call fcn.0041e920
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4153d6
push 0x4a
push 0x4792d8
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], al
call fcn.004058e0
push 3
push 0x4792d4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004058e0
mov byte [ebp - 4], 0x2f
call fcn.0041e920
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0x15c]
push 0xf3
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00402eb0
mov esi, eax
push str.json_str:
push esi
mov byte [ebp - 4], 0x30
call fcn.00406be0
add esp, 8
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x4153a2
mov eax, dword [edi]
push eax
push esi
call fcn.00403cf0
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov eax, dword [ecx]
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x15c]
call fcn.00403e10
lea ecx, [ebp - 0x28]
call fcn.00403870
lea ecx, [ebp - 0xa0]
call fcn.00403870
lea ecx, [ebp - 0x88]
call fcn.00422d40
lea ecx, [ebp - 0x70]
call fcn.00422d40
lea ecx, [ebp - 0x40]
call fcn.00422d40
lea ecx, [ebp - 0x58]
call fcn.00403870
mov eax, edi
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.0042ef2c
mov esp, ebp
pop ebp
ret 4
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
call fcn.00439bd8
int3