Function at 0x42f408
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61e456
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x68d9ac]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x68], edi
mov eax, dword [edi + 0x324]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x64], edx
test eax, eax
je 0x42ef65
cmp ecx, eax
jne 0x42ef65
mov ecx, edi
call fcn.004334d0
jmp case.0x42f1dc.1039
cmp ecx, 0x401
ja 0x42f1c6
je 0x42f18d
cmp ecx, 0x4a
ja 0x42f069
je 0x42f056
lea eax, [ecx - 7]
cmp eax, 0x3f
ja case.0x42f1dc.1039
movzx eax, byte [eax + 0x4300e0]
jmp dword [eax*4 + 0x4300c8]
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434fc0
jmp 0x4300a5
mov esi, dword [ebp + 0x10]
test esi, esi
je case.0x42f1dc.1039
push 0
lea eax, [ebp - 0x20]
mov dword [esi + 4], 1
push eax
push 0
xorps xmm0, xmm0
push 0x30
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jge 0x42efea
mov dword [esi + 8], eax
mov ecx, eax
mov edx, dword [esi + 0x10]
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x18]
cmp eax, ecx
jle 0x42effc
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jge 0x42f00b
mov dword [esi + 0xc], eax
mov ecx, eax
mov edx, dword [esi + 0x14]
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jle case.0x42f1dc.1039
sub ecx, edx
mov dword [esi + 0xc], ecx
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435510
jmp case.0x42f1dc.1039
mov eax, dword [edi]
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call dword [eax + 0x6c]
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.0042d8b0
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
mov ecx, edi
push esi
push 0x4a
call fcn.00433a30
jmp 0x4300a5
cmp ecx, 0x205
ja 0x42f16f
je 0x42f0b6
cmp ecx, 0x113
je 0x42f0a0
lea eax, [ecx - 0x200]
cmp eax, 2
ja case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00436c90
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
mov ecx, edi
push esi
push 0x113
call fcn.00435b80
jmp 0x4300a5
mov ecx, dword [edi + 0x3bc]
test ecx, ecx
je 0x42f0fd
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f0e2
mov ecx, dword [edi + 0x3bc]
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [edi + 0x3bc]
mov dword [edi + 0x3bc], 0
test ecx, ecx
je 0x42f0fd
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
push 0x318
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x42f121
mov ecx, eax
call fcn.0043c9d0
jmp 0x42f123
xor eax, eax
mov ecx, dword [edi + 0x3bc]
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x3bc], eax
test ecx, ecx
je 0x42f147
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov eax, dword [edi + 0x3bc]
push dword [edi + 4]
mov ecx, eax
call fcn.0043d000
cmp dword [edi + 0x3b0], 0
mov ecx, dword [edi + 0x3bc]
setne al
movzx eax, al
push eax
call fcn.0043d010
jmp case.0x42f1dc.1039
cmp ecx, 0x312
jne case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434540
jmp case.0x42f1dc.1039
xor eax, eax
mov ecx, edi
test esi, esi
setne al
cmp dword [edi + 0x3b4], 0
push eax
je 0x42f1b3
call fcn.00439b80
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f1dc.1039
call fcn.0043a040
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f1dc.1039
lea eax, [ecx - 0x405]
cmp eax, 0x5b
ja case.0x42f1dc.1039
movzx eax, byte [eax + 0x4301f0]
jmp dword [eax*4 + 0x430120]
mov ecx, edi
mov dword [edx], 1
call fcn.00438bd0
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.004371e0
cmp dword [edi + 0x3b4], 0
push 0
je 0x42f20f
mov ecx, dword [edi + 0x358]
jmp 0x42f215
mov ecx, dword [edi + 0x374]
mov eax, dword [ecx]
call dword [eax + 0x114]
push 1
push 0
mov ecx, edi
call fcn.004891b0
mov ecx, dword [edi + 0x4ac]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
test ecx, ecx
je 0x42f24f
call fcn.004278d0
push eax
call esi
test eax, eax
je 0x42f24f
mov ecx, dword [edi + 0x4ac]
call fcn.00441ec0
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je 0x42f270
call fcn.004278d0
push eax
call esi
test eax, eax
je 0x42f270
mov ecx, dword [edi + 0x4b0]
call fcn.00441ec0
mov eax, dword [ebp - 0x64]
push 2
mov dword [eax], 1
call fcn.00423940
mov ecx, eax
call fcn.00411b20
call fcn.00423940
mov ecx, eax
call fcn.00410760
test eax, eax
je 0x42f29e
mov ecx, edi
call fcn.0042d550
push 0
call fcn.00423940
mov ecx, eax
call fcn.00412fb0
push 0
push str.Jian_Desktop_settingwnd_class
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push edi
call esi
test eax, eax
je case.0x42f1dc.1039
push 0
push 0
push 0x40f
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x42f1dc.1039
lea ecx, [edi + 0x4b8]
call fcn.004278d0
test eax, eax
jne case.0x42f1dc.1039
push dword [edi + 4]
lea eax, [edi + 0x410]
push eax
lea ecx, [edi + 0x4b8]
call fcn.00444fa0
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435a50
jmp case.0x42f1dc.1039
test esi, esi
jne case.0x42f1dc.1039
cmp byte [edi + 0x864], 0
jne case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test ecx, ecx
je case.0x42f1dc.1039
mov eax, dword [ecx]
call dword [eax + 0x4c]
jmp case.0x42f1dc.1039
push dword [edi + 4]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
call esi
test eax, eax
je case.0x42f1dc.1039
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x42f1dc.1039
cmp dword [edi + 0x3b0], 0
jne case.0x42f1dc.1039
push 0
push str.search_bubble_dialog
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call esi
test eax, eax
jne case.0x42f1dc.1039
mov ecx, edi
call fcn.0042d6b0
push 0x334
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x42f3c9
sub esp, 0x10
xorps xmm0, xmm0
mov ecx, esp
push dword [edi + 4]
movups xmmword [ecx], xmm0
mov ecx, eax
call fcn.00441c80
jmp 0x42f3cb
xor eax, eax
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x4ac], eax
call fcn.00442220
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434360
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434b00
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
lea eax, [ebp - 0x64]
push eax
call fcn.00457fe0
add esp, 4
push dword [ebp - 0x64]
mov dword [ebp - 4], 2
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42f451
push dword [ebp - 0x64]
call fcn.00458910
mov ecx, dword [edi + 0x32c]
add esp, 4
mov edx, dword [ecx]
push 1
push eax
push dword [ebp - 0x64]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x64]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg case.0x42f1dc.1039
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x42f1dc.1039
xor eax, eax
mov ecx, edi
cmp dword [ebp + 0x10], eax
sete al
push eax
xor eax, eax
test esi, esi
sete al
push eax
call fcn.00438a50
jmp case.0x42f1dc.1039
mov eax, dword [edi + 0x3c0]
test eax, eax
je 0x42f4da
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f4bf
mov eax, dword [edi + 0x3c0]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [edi + 0x3c0]
mov dword [edi + 0x3c0], 0
test ecx, ecx
je 0x42f4da
mov eax, dword [ecx]
push 1
call dword [eax + 4]
push 1
call fcn.00423940
mov ecx, eax
call fcn.00411b20
mov ecx, edi
call fcn.004371e0
cmp dword [edi + 0x3b4], 0
push 0
je 0x42f510
mov ecx, dword [edi + 0x358]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x358]
jmp 0x42f524
mov ecx, dword [edi + 0x374]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x374]
call fcn.0048b340
push 1
call fcn.00423940
mov ecx, eax
call fcn.00412fb0
push 0
push str.Jian_Desktop_settingwnd_class
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f561
push 0
push 1
push 0x40f
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push 1
push 1
mov ecx, edi
call fcn.004891b0
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f1dc.1039
call fcn.00423940
mov ecx, eax
call fcn.00410860
push 0
push eax
mov ecx, edi
call fcn.00438a50
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.0x42f1dc.1039
call fcn.00423940
mov ecx, eax
call fcn.00410860
push 1
jmp 0x42f588
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
mov eax, dword [ecx]
call dword [eax + 0x20]
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test esi, esi
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x24]
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test esi, esi
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x28]
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.00436c60
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test esi, esi
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x2c]
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test esi, esi
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
jmp case.0x42f1dc.1039
cmp dword [edi + 0x32c], 0
je case.0x42f1dc.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f1dc.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
mov ecx, dword [edi + 0x32c]
test esi, esi
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x34]
jmp case.0x42f1dc.1039
test esi, esi
jne 0x42f76c
mov ecx, dword [edi + 0x4ac]
test ecx, ecx
je 0x42f76c
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f76c
mov ecx, dword [edi + 0x4ac]
call fcn.00441ec0
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je case.0x42f1dc.1039
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
lea ecx, [edi + 0x30]
call fcn.00482c40
mov ecx, eax
call fcn.00481450
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x6334b0]
lea eax, [ebp - 0x20]
push eax
divsd xmm0, qword [0x633490]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x68], xmm0
call fcn.0042ec30
movd xmm0, dword [ebp - 0x20]
mov ecx, 0x31
test esi, esi
mov eax, 0xffffffcf
cvtdq2ps xmm0, xmm0
cmovne eax, ecx
mov ecx, dword [edi + 0x4b0]
sub esp, 0x10
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [ebp - 0x68]
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x20], eax
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x18], eax
mov eax, esp
movups xmm0, xmmword [ebp - 0x20]
movups xmmword [eax], xmm0
call fcn.00450d70
mov ecx, dword [edi + 0x4b0]
call fcn.00450ce0
jmp case.0x42f1dc.1039
test esi, esi
jne 0x42f85e
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je 0x42f85e
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f85e
mov ecx, dword [edi + 0x4b0]
call fcn.00441ec0
mov ecx, edi
call fcn.004371e0
cmp dword [edi + 0x3b0], 0
jne 0x42f876
mov byte [ebp - 0x64], 1
test esi, esi
jne 0x42f87a
mov byte [ebp - 0x64], 0
cmp dword [edi + 0x3b4], 0
je 0x42f88d
mov ecx, dword [edi + 0x35c]
test ecx, ecx
jne 0x42f897
mov ecx, dword [edi + 0x378]
test ecx, ecx
je 0x42f8a2
mov eax, dword [ecx]
push dword [ebp - 0x64]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x4ac]
test ecx, ecx
je case.0x42f1dc.1039
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f1dc.1039
lea ecx, [edi + 0x30]
call fcn.00482c40
mov ecx, eax
call fcn.00481450
mov ecx, 0xffffffcf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
test esi, esi
addsd xmm0, qword [eax*8 + 0x6334b0]
mov eax, 0x31
cmovne eax, ecx
sub esp, 0x10
mov ecx, dword [edi + 0x4ac]
divsd xmm0, qword [0x633490]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, dword [0x633478]
cvttss2si eax, xmm0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], eax
mov eax, esp
movups xmm0, xmmword [ebp - 0x20]
movups xmmword [eax], xmm0
call fcn.00442300
mov ecx, dword [edi + 0x4ac]
call fcn.00441e20
jmp case.0x42f1dc.1039
call fcn.00423940
mov ecx, eax
call fcn.004100d0
cmp eax, 2
jne case.0x42f1dc.1039
mov ecx, edi
test esi, esi
je 0x42f979
call fcn.0042d550
jmp case.0x42f1dc.1039
call fcn.0042d6d0
jmp case.0x42f1dc.1039
mov ecx, dword [edi + 0x3f4]
test ecx, ecx
je 0x42f99e
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov dword [edi + 0x3f4], 0
cmp byte [edi + 0x480], 0
je case.0x42f1dc.1039
mov ecx, edi
mov byte [edi + 0x480], 0
call fcn.00432a80
jmp case.0x42f1dc.1039
push 1
push esi
mov ecx, edi
mov dword [edx], 1
call fcn.00437160
jmp 0x4300a5
mov eax, dword [ebp + 0x10]
mov dword [edx], 1
test eax, eax
je case.0x42f1dc.1039
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00407060
add esp, 4
mov dword [ebp - 0x68], eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x64], ecx
push esi
push ecx
mov esi, esp
mov dword [ebp - 4], 3
push eax
mov dword [ebp - 0x6c], esi
call fcn.00407060
add esp, 4
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00430260
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x64], eax
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42fa40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x64]
jmp 0x4300a5
mov eax, dword [ebp + 0x10]
mov dword [edx], 1
test eax, eax
je case.0x42f1dc.1039
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00407060
add esp, 4
mov dword [ebp - 0x68], eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x6c], ecx
push esi
push ecx
mov esi, esp
mov dword [ebp - 4], 4
push eax
mov dword [ebp - 0x64], esi
call fcn.00407060
add esp, 4
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004303d0
jmp 0x42fa1e
test esi, esi
jne 0x42faca
push 4
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x42fac1
push 0x6322b8
mov ecx, eax
call fcn.004085f0
mov esi, eax
jmp 0x42fac3
xor esi, esi
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, esp
push esi
call fcn.00408560
mov ecx, edi
call fcn.00435930
test esi, esi
je case.0x42f1dc.1039
mov edx, dword [esi]
or eax, 0xffffffff
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42fafc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push esi
call fcn.004f9a35
add esp, 8
jmp case.0x42f1dc.1039
test esi, esi
jne 0x42fae2
push 4
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x42fb3f
push 0x62f1a8
mov ecx, eax
call fcn.004085f0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
jmp 0x42fada
xor esi, esi
mov dword [ebp - 4], 0xffffffff
jmp 0x42fada
xor eax, eax
test esi, esi
setne al
push eax
call fcn.00423940
mov ecx, eax
call fcn.00412760
jmp case.0x42f1dc.1039
mov ecx, edi
mov dword [edi + 0x3b4], esi
call fcn.00438bd0
mov ecx, edi
call fcn.0042c810
jmp case.0x42f1dc.1039
mov dword [edi + 0x3b8], esi
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435380
jmp case.0x42f1dc.1039
push esi
call fcn.00423940
mov ecx, eax
call fcn.00413570
mov ecx, dword [edi + 0x340]
test ecx, ecx
je 0x42fc3b
call fcn.0048acf0
push eax
lea ecx, [ebp - 0x64]
call fcn.004085f0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 4], 7
cmp dword [eax - 0xc], 0
je 0x42fbf7
push 1
call fcn.00423940
mov ecx, eax
call fcn.004134c0
mov ecx, dword [edi + 0x340]
push 0x62f1a8
call fcn.0048cdd0
mov eax, 1
jmp 0x42fc03
call fcn.00423940
mov ecx, eax
call fcn.004114c0
push eax
push esi
call fcn.00409100
mov ecx, dword [edi + 0x340]
add esp, 8
push eax
call fcn.0048cdb0
mov edx, dword [ebp - 0x64]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42fc3b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [edi + 0x360]
test ecx, ecx
je case.0x42f1dc.1039
call fcn.0048acf0
push eax
lea ecx, [ebp - 0x64]
call fcn.004085f0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 4], 8
cmp dword [eax - 0xc], 0
je 0x42fc8c
push 1
call fcn.00423940
mov ecx, eax
call fcn.004134c0
mov ecx, dword [edi + 0x360]
push 0x62f1a8
call fcn.0048cdd0
mov eax, 1
jmp 0x42fc98
call fcn.00423940
mov ecx, eax
call fcn.004114c0
push eax
push esi
call fcn.00409100
mov ecx, dword [edi + 0x360]
add esp, 8
push eax
call fcn.0048cdb0
jmp 0x42f451
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.004351f0
jmp case.0x42f1dc.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434980
jmp case.0x42f1dc.1039
mov ecx, dword [edi + 0x4b4]
test ecx, ecx
jne 0x42fd19
push 0x32c
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x42fd0a
push dword [edi + 4]
mov ecx, eax
call fcn.00450d90
mov ecx, eax
jmp 0x42fd0c
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x4b4], ecx
test esi, esi
sete al
mov byte [edi + 0x864], al
test esi, esi
je 0x42fd32
call fcn.00451430
jmp case.0x42f1dc.1039
push 0
call fcn.004278d0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x42f1dc.1039
mov ecx, dword [edi + 0x4b4]
test ecx, ecx
je case.0x42f1dc.1039
push 1
call fcn.004889f0
mov dword [edi + 0x4b4], 0
jmp case.0x42f1dc.1039
push dword [ebp + 0x10]
mov ecx, edi
push esi
call fcn.00437be0
jmp case.0x42f1dc.1039
push 3
mov ecx, edi
call fcn.00438110
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.004385c0
jmp case.0x42f1dc.1039
call fcn.004239d0
mov ecx, eax
call fcn.00425530
push 0
push 0x630f88
push 1
push 0
push 0x632698
call fcn.00420d80
mov ecx, eax
call fcn.0047a370
mov ecx, edi
call fcn.00432bd0
jmp case.0x42f1dc.1039
call fcn.004239d0
mov ecx, eax
call fcn.00426110
jmp case.0x42f1dc.1039
test esi, esi
je case.0x42f1dc.1039
sub esp, 0x28
mov dword [ebp - 0x6c], esp
mov ecx, esp
sub esp, 0x10
mov eax, esp
mov dword [eax], 0x432ce0
mov dword [eax + 4], 0
mov dword [eax + 0xc], edi
call fcn.00429b30
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 4], 0xa
jb 0x42fe13
mov eax, dword [esi]
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.004085f0
push 0
mov byte [ebp - 4], 0xb
call fcn.004239d0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.00426030
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x42fe71
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x42fe67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4300c2
mov eax, edx
push ecx
push eax
call fcn.004f9a35
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
push 0x18
mov dword [esi + 0x14], 7
push esi
mov word [esi], ax
call fcn.004f9a35
add esp, 8
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.0043b220
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.0043b5f0
jmp case.0x42f1dc.1039
push 0
lea eax, [ebp - 0x20]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x68]
sub edi, dword [ebp - 0x20]
add ecx, 0x30
push 0x1c2
mov dword [ebp - 0x64], eax
call fcn.00482c40
mov ecx, eax
call fcn.00481680
mov esi, eax
mov eax, edi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
sub edi, esi
mov esi, dword [ebp - 0x68]
push 0x64
lea ecx, [esi + 0x30]
call fcn.00482c40
mov ecx, eax
call fcn.00481680
mov ecx, eax
mov eax, dword [ebp - 0x64]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
push 0x320
mov dword [ebp - 0x68], eax
call fcn.004f9a77
add esp, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x42ff52
push dword [ebp - 0x68]
mov ecx, dword [esi + 0x870]
push edi
call fcn.004278d0
mov ecx, dword [ebp - 0x64]
push eax
call fcn.0044a600
mov edi, eax
jmp 0x42ff54
xor edi, edi
push 0
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push 0x80
push SysReAllocStringLen
push 0x62f1a8
push 0
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00488a20
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], vtable.std::_Func_impl_no_alloc_class__lambda_49134fd9415ad8d452dda13cd7ac09c6___void___.0
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x3c], eax
mov ecx, dword [esi + 0x870]
push eax
mov dword [ebp - 4], 0xd
call fcn.00426d70
push 1
push 1
mov ecx, edi
call fcn.004891b0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je case.0x42f1dc.1039
mov edx, dword [ecx]
lea eax, [ebp - 0x60]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.0043b090
jmp case.0x42f1dc.1039
mov ecx, edi
call fcn.0043b460
jmp case.0x42f1dc.1039
push 2
push 0x37
push 1
lea ecx, [ebp - 0x80]
call fcn.004687a0
xor eax, eax
mov dword [ebp - 4], 0xe
push esi
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.0043b860
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x80]
call fcn.00468700
push 0
lea eax, [ebp - 0x80]
push 1
push eax
call fcn.0042e640
mov ecx, eax
call fcn.00421630
push 2
push esi
call fcn.004f9a35
mov edx, dword [ebp - 0x24]
add esp, 8
cmp edx, 8
jb 0x430087
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43007d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4300c2
push edx
push ecx
call fcn.004f9a35
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
call fcn.004688a0
xor eax, eax
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.004f9a43
mov esp, ebp
pop ebp
ret 0x10
call fcn.005e6a79
nop
cmp al, dh
inc edx
add byte [edx - 0x10], cl
inc edx
add byte [esi], ah
invalid