Function at 0x401aa0
Capabilities:
Check if file exists

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x328
mov eax, dword [0x46a180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0xc]
push esi
mov dword [ebp - 0x320], eax
mov eax, dword [ebx + 0x14]
push edi
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x30c], eax
call fcn.004102f0
cmp eax, 6
jl 0x401cd5
push str.CWemeetEvaluate::InstallPackage
push 0xe
push str.D:qci_workspace_root_workspaces__qci_pipeline_10854701_1_appWindows_serviceupdate_servicewemeet_evaluate.cc
push 6
lea ecx, [ebp - 0xf8]
call fcn.00404330
push str.exe_path:
lea esi, [eax + 0x10]
push esi
call fcn.00402c00
push dword [ebp - 0x320]
lea eax, [ebp - 0x260]
push eax
call fcn.004142c0
add esp, 0x10
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x401b32
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00403740
push str._cmd:
push esi
call fcn.00402c00
lea eax, [ebp - 0x280]
push edi
push eax
call fcn.004142c0
add esp, 0x1c
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x401b60
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00403740
push str._md5:
push esi
call fcn.00402c00
push dword [ebp - 0x30c]
lea eax, [ebp - 0x2a0]
push eax
call fcn.004142c0
add esp, 0x1c
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x401b93
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00403740
push str._session_id:
push esi
call fcn.00402c00
add esp, 0x14
mov ecx, esi
push dword [ebx + 0x18]
call fcn.00405220
push str._privilege_level:
push esi
call fcn.00402c00
add esp, 8
mov ecx, esi
push dword [ebx + 0x1c]
call fcn.00405220
mov ecx, dword [ebp - 0x28c]
cmp ecx, 0xf
jbe 0x401c05
mov edx, dword [ebp - 0x2a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401bfb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b0
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0xf
mov byte [ebp - 0x2a0], 0
cmp ecx, 0xf
jbe 0x401c5a
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401c50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b0
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
cmp ecx, 0xf
jbe 0x401caf
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401ca5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b0
push ecx
push edx
call fcn.00430e05
add esp, 8
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.00404f70
mov ecx, 0x46c400
call fcn.00415870
push dword [ebp - 0x320]
lea eax, [ebp - 0x2f0]
push eax
call fcn.00414400
lea eax, [ebp - 0x2d8]
push edi
push eax
call fcn.00414400
push dword [ebp - 0x30c]
lea eax, [ebp - 0x308]
push eax
call fcn.00414400
add esp, 0x18
lea eax, [ebp - 0x2f0]
cmp dword [ebp - 0x2dc], 7
cmova eax, dword [ebp - 0x2f0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x401d7b
call fcn.004102f0
cmp eax, 6
jl 0x401d71
push str.CWemeetEvaluate::InstallPackage
push 0x1a
push str.D:qci_workspace_root_workspaces__qci_pipeline_10854701_1_appWindows_serviceupdate_servicewemeet_evaluate.cc
push 6
lea ecx, [ebp - 0xf8]
call fcn.00404330
add eax, 0x10
push str.file_not_find__stop_install.
push eax
call fcn.00402c00
add esp, 8
lea ecx, [ebp - 0xf8]
call fcn.00404f70
mov edi, 3
jmp 0x401f05
cmp dword [ebp - 0x2dc], 7
lea eax, [ebp - 0x2f0]
cmova eax, dword [ebp - 0x2f0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov edx, eax
mov dword [ebp - 0x290], 0
mov ecx, edx
mov dword [ebp - 0x28c], 0
xorps xmm0, xmm0
movaps xmmword [ebp - 0x2a0], xmm0
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401dc0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2a0]
call fcn.00403080
xor eax, eax
mov dword [ebp - 0x230], 0
xorps xmm0, xmm0
mov dword [ebp - 0x22c], 7
movaps xmmword [ebp - 0x240], xmm0
mov word [ebp - 0x240], ax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x2f0]
push eax
call fcn.004116d0
add esp, 0xc
test al, al
jne 0x402013
call fcn.004102f0
cmp eax, 3
jl 0x401e67
push str.CWemeetEvaluate::InstallPackage
push 0x22
push str.D:qci_workspace_root_workspaces__qci_pipeline_10854701_1_appWindows_serviceupdate_servicewemeet_evaluate.cc
push 3
lea ecx, [ebp - 0xf8]
call fcn.00404330
add eax, 0x10
push str.copy_file_error_
push eax
call fcn.00402c00
add esp, 8
lea ecx, [ebp - 0xf8]
call fcn.00404f70
mov edi, 4
mov ecx, dword [ebp - 0x22c]
cmp ecx, 7
jbe 0x401eac
mov edx, dword [ebp - 0x240]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401ea2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x28c]
xor eax, eax
mov word [ebp - 0x240], ax
mov dword [ebp - 0x22c], 7
mov dword [ebp - 0x230], eax
cmp ecx, 7
jbe 0x401f05
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401efb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push edx
call fcn.00430e05
add esp, 8
push 0
push 0x1388
mov ecx, 0x46c400
call fcn.00415660
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 7
jbe 0x401f56
mov edx, dword [ebp - 0x308]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401f4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b5
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x2c4]
xor eax, eax
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 7
mov word [ebp - 0x308], ax
cmp ecx, 7
jbe 0x401fb3
mov edx, dword [ebp - 0x2d8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401fa9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b5
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x2dc]
xor eax, eax
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 7
mov word [ebp - 0x2d8], ax
cmp ecx, 7
jbe 0x402999
mov edx, dword [ebp - 0x2f0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40298f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029b5
jmp 0x40298f
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x2b0], 0
push 0x457db8
lea ecx, [ebp - 0x2c0]
movaps xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2ac], 0
call fcn.00403080
lea edx, [ebp - 0x2c0]
mov dword [ebp - 0x31c], 0
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x318], 0
sub ecx, edx
mov dword [ebp - 0x314], 0
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40211e
cmp eax, 0xaaaaaaa
ja 0x4029ba
lea edi, [eax + eax*2]
shl edi, 3
cmp edi, 0x1000
jb 0x4020c6
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x4029bf
push eax
call fcn.00430dd5
add esp, 4
test eax, eax
je 0x4029b0
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x4020d9
test edi, edi
je 0x4020d7
push edi
call fcn.00430dd5
add esp, 4
mov esi, eax
jmp 0x4020d9
xor esi, esi
lea eax, [esi + edi]
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x314], eax
lea ecx, [ebp - 0x2c0]
lea eax, [ebp - 0x2a8]
cmp ecx, eax
je 0x402118
mov edi, ecx
nop word [eax + eax]
push edi
mov ecx, esi
call fcn.00403f30
add edi, 0x18
lea eax, [ebp - 0x2a8]
add esi, 0x18
cmp edi, eax
jne 0x402100
mov dword [ebp - 0x318], esi
push fcn.00404bc0
push 1
push 0x18
lea eax, [ebp - 0x2c0]
push eax
call fcn.00430cc0
lea eax, [ebp - 0x31c]
xorps xmm0, xmm0
push eax
sub esp, 0x18
mov ecx, esp
push 0x2c
movups xmmword [ecx], xmm0
push str.Tencent_Technology_Shenzhen__Company_Limited
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00403080
sub esp, 0x18
lea eax, [ebp - 0x240]
mov esi, esp
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x22c], 7
mov edi, dword [ebp - 0x230]
cmova eax, dword [ebp - 0x240]
mov dword [ebp - 0x320], eax
cmp edi, 0x7ffffffe
ja 0x4029c4
mov dword [esi + 0x14], 7
mov ecx, 0xa
cmp edi, 7
ja 0x4021c0
mov dword [esi + 0x10], edi
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x402211
mov eax, edi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4021d3
mov eax, SysReAllocString
jmp 0x4021d9
cmp eax, 0xa
cmovb eax, ecx
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x30c]
push eax
push esi
call fcn.00402f50
mov ecx, dword [ebp - 0x30c]
mov dword [esi + 0x14], ecx
lea ecx, [edi*2 + 2]
push ecx
push dword [ebp - 0x320]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00432960
add esp, 0x14
call fcn.00418ed0
add esp, 0x34
test al, al
jne 0x402438
lea eax, [ebp - 0x31c]
xorps xmm0, xmm0
push eax
sub esp, 0x18
mov ecx, esp
push 0x2d
movups xmmword [ecx], xmm0
push str.Tencent_Technology__Shenzhen__Company_Limited
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00403080
sub esp, 0x18
lea eax, [ebp - 0x240]
mov esi, esp
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x22c], 7
mov edi, dword [ebp - 0x230]
cmova eax, dword [ebp - 0x240]
mov dword [ebp - 0x320], eax
cmp edi, 0x7ffffffe
ja 0x4029c4
mov dword [esi + 0x14], 7
cmp edi, 7
ja 0x4022a9
mov dword [esi + 0x10], edi
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x4022ff
mov eax, edi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4022bc
mov eax, SysReAllocString
jmp 0x4022c7
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x30c]
push eax
push esi
call fcn.00402f50
mov ecx, dword [ebp - 0x30c]
mov dword [esi + 0x14], ecx
lea ecx, [edi*2 + 2]
push ecx
push dword [ebp - 0x320]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00432960
add esp, 0x14
call fcn.00418ed0
add esp, 0x34
test al, al
jne 0x402438
call fcn.004102f0
cmp eax, 3
jl 0x40234e
push str.CWemeetEvaluate::InstallPackage
push 0x2e
push str.D:qci_workspace_root_workspaces__qci_pipeline_10854701_1_appWindows_serviceupdate_servicewemeet_evaluate.cc
push 3
lea ecx, [ebp - 0xf8]
call fcn.00404330
add eax, 0x10
push str.verify_file_error_
push eax
call fcn.00402c00
add esp, 8
lea ecx, [ebp - 0xf8]
call fcn.00404f70
mov esi, dword [ebp - 0x31c]
mov edi, 1
test esi, esi
je 0x401e6c
mov edi, dword [ebp - 0x318]
cmp esi, edi
je 0x4023c9
nop dword [eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 7
jbe 0x4023a9
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40239f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
mov eax, edx
push ecx
push eax
call fcn.00430e05
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x402370
mov esi, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x314]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x402406
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push esi
call fcn.00430e05
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0
mov edi, 1
mov dword [ebp - 0x314], 0
jmp 0x401e6c
cmp dword [ebp - 0x22c], 7
lea edi, [ebp - 0x240]
mov esi, dword [ebp - 0x230]
xorps xmm0, xmm0
cmova edi, dword [ebp - 0x240]
movaps xmmword [ebp - 0x280], xmm0
mov dword [ebp - 0x270], 0
cmp esi, 0x7ffffffe
ja 0x4029c4
mov dword [ebp - 0x26c], 7
cmp esi, 7
ja 0x402493
mov dword [ebp - 0x270], esi
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x280], xmm0
jmp 0x4024f4
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x4024a6
mov eax, SysReAllocString
jmp 0x4024b1
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.00402f50
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x26c], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x270], esi
call fcn.00432960
add esp, 0x14
push 0x20a
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00432ee0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x40252f
lea ecx, [ebp - 0x280]
call fcn.00404bc0
jmp 0x40258e
lea eax, [ebp - 0x218]
push eax
call fcn.00411db0
cmp dword [ebp - 0x26c], 7
lea ecx, [ebp - 0x280]
mov edi, eax
mov esi, edx
cmova ecx, dword [ebp - 0x280]
push ecx
call fcn.00411db0
add esp, 8
cmp esi, edx
ja 0x40256f
jb 0x402566
cmp edi, eax
ja 0x40256f
mov byte [ebp - 0x30d], 1
jmp 0x402576
mov byte [ebp - 0x30d], 0
lea ecx, [ebp - 0x280]
call fcn.00404bc0
cmp byte [ebp - 0x30d], 0
jne 0x4026b8
call fcn.004102f0
cmp eax, 3
jl 0x4025cd
push str.CWemeetEvaluate::InstallPackage
push 0x34
push str.D:qci_workspace_root_workspaces__qci_pipeline_10854701_1_appWindows_serviceupdate_servicewemeet_evaluate.cc
push 3
lea ecx, [ebp - 0xf8]
call fcn.00404330
add eax, 0x10
push str.verify_version_error_
push eax
call fcn.00402c00
add esp, 8
lea ecx, [ebp - 0xf8]
call fcn.00404f70
mov esi, dword [ebp - 0x31c]
mov edi, 6
test esi, esi
je 0x401e6c
mov edi, dword [ebp - 0x318]
cmp esi, edi
je 0x402649
nop word [eax + eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 7
jbe 0x402629
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x40261f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
mov eax, edx
push ecx
push eax
call fcn.00430e05
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x4025f0
mov esi, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x314]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x402686
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push esi
call fcn.00430e05
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0
mov edi, 6
mov dword [ebp - 0x314], 0
jmp 0x401e6c
cmp dword [ebp - 0x22c], 7
lea edi, [ebp - 0x240]
mov esi, dword [ebp - 0x230]
xorps xmm0, xmm0
cmova edi, dword [ebp - 0x240]
movaps xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x250], 0
cmp esi, 0x7ffffffe
ja 0x4029c4
mov dword [ebp - 0x24c], 7
cmp esi, 7
ja 0x402713
mov dword [ebp - 0x250], esi
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x260], xmm0
jmp 0x402774
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x402726
mov eax, SysReAllocString
jmp 0x402731
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00402f50
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x24c], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x250], esi
call fcn.00432960
add esp, 0x14
push 1
push 0x457eb0
lea ecx, [ebp - 0x260]
call fcn.004095a0
cmp dword [ebp - 0x2c4], 7
lea eax, [ebp - 0x2d8]
push dword [ebp - 0x2c8]
cmova eax, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x260]
push eax
call fcn.004095a0
cmp dword [ebx + 0x1c], 0
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x240]
mov byte [ebp - 0x30c], 1
jne 0x4027cc
mov byte [ebp - 0x30c], 0
cmp dword [ebp - 0x24c], 7
push dword [ebp - 0x30c]
cmova ecx, dword [ebp - 0x260]
cmp dword [ebp - 0x22c], 7
push ecx
cmova eax, dword [ebp - 0x240]
push eax
push dword [ebx + 0x18]
call fcn.00412f30
xor ecx, ecx
add esp, 0x10
test al, al
mov edi, 5
cmovne edi, ecx
mov ecx, dword [ebp - 0x24c]
cmp ecx, 7
jbe 0x402847
mov edx, dword [ebp - 0x260]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40283d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push edx
call fcn.00430e05
add esp, 8
xor eax, eax
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x24c], 7
test eax, eax
je 0x4028f3
lea ecx, [ebp - 0x31c]
push ecx
push dword [ebp - 0x318]
push eax
call fcn.00403120
mov ecx, dword [ebp - 0x314]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x31c]
add esp, 0xc
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x4028cb
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push esi
call fcn.00430e05
add esp, 8
mov dword [ebp - 0x31c], 0
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0
mov ecx, dword [ebp - 0x22c]
cmp ecx, 7
jbe 0x402933
mov edx, dword [ebp - 0x240]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402929
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 0x28c]
xor eax, eax
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
cmp ecx, 7
jbe 0x401f05
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401efb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4029c9
jmp 0x401efb
push ecx
push edx
call fcn.00430e05
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
xor ecx, ebp
pop esi
call fcn.004312d2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18
call fcn.00435fbe
call fcn.00435fbe
call fcn.004092b0
call fcn.00409260
call fcn.004092a0
call fcn.00435fbe
int3