Function at 0x42f548
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x622656
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x690a1c]
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 0x42f0a5
cmp ecx, eax
jne 0x42f0a5
mov ecx, edi
call fcn.00433610
jmp case.0x42f31c.1039
cmp ecx, 0x401
ja 0x42f306
je 0x42f2cd
cmp ecx, 0x4a
ja 0x42f1a9
je 0x42f196
lea eax, [ecx - 7]
cmp eax, 0x3f
ja case.0x42f31c.1039
movzx eax, byte [eax + 0x430228]
jmp dword [eax*4 + 0x430210]
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435200
jmp 0x4301ee
mov esi, dword [ebp + 0x10]
test esi, esi
je case.0x42f31c.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 0x42f12a
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 0x42f13c
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jge 0x42f14b
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.0x42f31c.1039
sub ecx, edx
mov dword [esi + 0xc], ecx
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435750
jmp case.0x42f31c.1039
mov eax, dword [edi]
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call dword [eax + 0x6c]
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.0042d9f0
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
mov ecx, edi
push esi
push 0x4a
call fcn.00433b70
jmp 0x4301ee
cmp ecx, 0x205
ja 0x42f2af
je 0x42f1f6
cmp ecx, 0x113
je 0x42f1e0
lea eax, [ecx - 0x200]
cmp eax, 2
ja case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00437060
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
mov ecx, edi
push esi
push 0x113
call fcn.00435dc0
jmp 0x4301ee
mov ecx, dword [edi + 0x3bc]
test ecx, ecx
je 0x42f23d
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f222
mov ecx, dword [edi + 0x3bc]
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [edi + 0x3bc]
mov dword [edi + 0x3bc], 0
test ecx, ecx
je 0x42f23d
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
push 0x318
call fcn.004fa137
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x42f261
mov ecx, eax
call fcn.0043d100
jmp 0x42f263
xor eax, eax
mov ecx, dword [edi + 0x3bc]
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x3bc], eax
test ecx, ecx
je 0x42f287
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov eax, dword [edi + 0x3bc]
push dword [edi + 4]
mov ecx, eax
call fcn.0043d730
cmp dword [edi + 0x3b0], 0
mov ecx, dword [edi + 0x3bc]
setne al
movzx eax, al
push eax
call fcn.0043d740
jmp case.0x42f31c.1039
cmp ecx, 0x312
jne case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434680
jmp case.0x42f31c.1039
xor eax, eax
mov ecx, edi
test esi, esi
setne al
cmp dword [edi + 0x3b4], 0
push eax
je 0x42f2f3
call fcn.0043a2b0
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f31c.1039
call fcn.0043a770
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f31c.1039
lea eax, [ecx - 0x405]
cmp eax, 0x5c
ja case.0x42f31c.1039
movzx eax, byte [eax + 0x43033c]
jmp dword [eax*4 + 0x430268]
mov ecx, edi
mov dword [edx], 1
call fcn.00439300
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.00437840
cmp dword [edi + 0x3b4], 0
push 0
je 0x42f34f
mov ecx, dword [edi + 0x358]
jmp 0x42f355
mov ecx, dword [edi + 0x374]
mov eax, dword [ecx]
call dword [eax + 0x114]
push 1
push 0
mov ecx, edi
call fcn.00489870
mov ecx, dword [edi + 0x4ac]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
test ecx, ecx
je 0x42f38f
call fcn.00427a00
push eax
call esi
test eax, eax
je 0x42f38f
mov ecx, dword [edi + 0x4ac]
call fcn.004425f0
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je 0x42f3b0
call fcn.00427a00
push eax
call esi
test eax, eax
je 0x42f3b0
mov ecx, dword [edi + 0x4b0]
call fcn.004425f0
mov eax, dword [ebp - 0x64]
push 2
mov dword [eax], 1
call fcn.00423a70
mov ecx, eax
call fcn.00411bf0
call fcn.00423a70
mov ecx, eax
call fcn.00410830
test eax, eax
je 0x42f3de
mov ecx, edi
call fcn.0042d690
push 0
call fcn.00423a70
mov ecx, eax
call fcn.00413070
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.0x42f31c.1039
push 0
push 0
push 0x40f
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x42f31c.1039
lea ecx, [edi + 0x4b8]
call fcn.00427a00
test eax, eax
jne case.0x42f31c.1039
push dword [edi + 4]
lea eax, [edi + 0x410]
push eax
lea ecx, [edi + 0x4b8]
call fcn.004456b0
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435c90
jmp case.0x42f31c.1039
test esi, esi
jne case.0x42f31c.1039
cmp byte [edi + 0x864], 0
jne case.0x42f31c.1039
mov ecx, dword [edi + 0x32c]
test ecx, ecx
je case.0x42f31c.1039
mov eax, dword [ecx]
call dword [eax + 0x4c]
jmp case.0x42f31c.1039
push dword [edi + 4]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
call esi
test eax, eax
je case.0x42f31c.1039
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x42f31c.1039
cmp dword [edi + 0x3b0], 0
jne case.0x42f31c.1039
push 0
push str.search_bubble_dialog
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call esi
test eax, eax
jne case.0x42f31c.1039
mov ecx, edi
call fcn.0042d7f0
push 0x334
call fcn.004fa137
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x42f509
sub esp, 0x10
xorps xmm0, xmm0
mov ecx, esp
push dword [edi + 4]
movups xmmword [ecx], xmm0
mov ecx, eax
call fcn.004423b0
jmp 0x42f50b
xor eax, eax
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x4ac], eax
call fcn.00442940
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.004344a0
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434c40
jmp case.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
lea eax, [ebp - 0x64]
push eax
call fcn.004586d0
add esp, 4
push dword [ebp - 0x64]
mov dword [ebp - 4], 2
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42f591
push dword [ebp - 0x64]
call fcn.00459000
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.0x42f31c.1039
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x42f31c.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.004390b0
jmp case.0x42f31c.1039
mov eax, dword [edi + 0x3c0]
test eax, eax
je 0x42f61a
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f5ff
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 0x42f61a
mov eax, dword [ecx]
push 1
call dword [eax + 4]
push 1
call fcn.00423a70
mov ecx, eax
call fcn.00411bf0
mov ecx, edi
call fcn.00437840
cmp dword [edi + 0x3b4], 0
push 0
je 0x42f650
mov ecx, dword [edi + 0x358]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x358]
jmp 0x42f664
mov ecx, dword [edi + 0x374]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x374]
call fcn.0048ba00
push 1
call fcn.00423a70
mov ecx, eax
call fcn.00413070
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 0x42f6a1
push 0
push 1
push 0x40f
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
push 1
push 1
mov ecx, edi
call fcn.00489870
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f31c.1039
call fcn.00423a70
mov ecx, eax
call fcn.00410930
push 0
push eax
mov ecx, edi
call fcn.004390b0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.0x42f31c.1039
call fcn.00423a70
mov ecx, eax
call fcn.00410930
push 1
jmp 0x42f6c8
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.1039
mov ecx, dword [edi + 0x32c]
mov eax, dword [ecx]
call dword [eax + 0x20]
jmp case.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.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.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.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.0x42f31c.1039
mov ecx, edi
call fcn.00437030
jmp case.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.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.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.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.0x42f31c.1039
cmp dword [edi + 0x32c], 0
je case.0x42f31c.1039
mov eax, dword [edi + 0x330]
test eax, eax
je case.0x42f31c.1039
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.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.0x42f31c.1039
test esi, esi
jne 0x42f8ac
mov ecx, dword [edi + 0x4ac]
test ecx, ecx
je 0x42f8ac
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f8ac
mov ecx, dword [edi + 0x4ac]
call fcn.004425f0
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je case.0x42f31c.1039
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.1039
lea ecx, [edi + 0x30]
call fcn.00483320
mov ecx, eax
call fcn.00481b30
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x6375a0]
lea eax, [ebp - 0x20]
push eax
divsd xmm0, qword [0x637578]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x68], xmm0
call fcn.0042ed70
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.00451460
mov ecx, dword [edi + 0x4b0]
call fcn.004513d0
jmp case.0x42f31c.1039
test esi, esi
jne 0x42f99e
mov ecx, dword [edi + 0x4b0]
test ecx, ecx
je 0x42f99e
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42f99e
mov ecx, dword [edi + 0x4b0]
call fcn.004425f0
mov ecx, edi
call fcn.00437840
cmp dword [edi + 0x3b0], 0
jne 0x42f9b6
mov byte [ebp - 0x64], 1
test esi, esi
jne 0x42f9ba
mov byte [ebp - 0x64], 0
cmp dword [edi + 0x3b4], 0
je 0x42f9cd
mov ecx, dword [edi + 0x35c]
test ecx, ecx
jne 0x42f9d7
mov ecx, dword [edi + 0x378]
test ecx, ecx
je 0x42f9e2
mov eax, dword [ecx]
push dword [ebp - 0x64]
call dword [eax + 0x114]
mov ecx, dword [edi + 0x4ac]
test ecx, ecx
je case.0x42f31c.1039
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x42f31c.1039
lea ecx, [edi + 0x30]
call fcn.00483320
mov ecx, eax
call fcn.00481b30
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 + 0x6375a0]
mov eax, 0x31
cmovne eax, ecx
sub esp, 0x10
mov ecx, dword [edi + 0x4ac]
divsd xmm0, qword [0x637578]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, dword [0x637560]
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.00442a20
mov ecx, dword [edi + 0x4ac]
call fcn.00442550
jmp case.0x42f31c.1039
call fcn.00423a70
mov ecx, eax
call fcn.004101a0
cmp eax, 2
jne case.0x42f31c.1039
mov ecx, edi
test esi, esi
je 0x42fab9
call fcn.0042d690
jmp case.0x42f31c.1039
call fcn.0042d810
jmp case.0x42f31c.1039
mov ecx, dword [edi + 0x3f4]
test ecx, ecx
je 0x42fade
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
mov dword [edi + 0x3f4], 0
cmp byte [edi + 0x480], 0
je case.0x42f31c.1039
mov ecx, edi
mov byte [edi + 0x480], 0
call fcn.00432bd0
jmp case.0x42f31c.1039
push 1
push esi
mov ecx, edi
mov dword [edx], 1
call fcn.004377c0
jmp 0x4301ee
mov eax, dword [ebp + 0x10]
mov dword [edx], 1
test eax, eax
je case.0x42f31c.1039
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00407150
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.00407150
add esp, 4
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004303b0
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 0x42fb80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x64]
jmp 0x4301ee
mov eax, dword [ebp + 0x10]
mov dword [edx], 1
test eax, eax
je case.0x42f31c.1039
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00407150
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.00407150
add esp, 4
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00430520
jmp 0x42fb5e
test esi, esi
jne 0x42fc0a
push 4
call fcn.004fa137
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x42fc01
push 0x636350
mov ecx, eax
call fcn.004086e0
mov esi, eax
jmp 0x42fc03
xor esi, esi
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, esp
push esi
call fcn.00408650
mov ecx, edi
call fcn.00435b70
test esi, esi
je case.0x42f31c.1039
mov edx, dword [esi]
or eax, 0xffffffff
sub edx, 0x10
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42fc3c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push esi
call fcn.004fa0f5
add esp, 8
jmp case.0x42f31c.1039
test esi, esi
jne 0x42fc22
push 4
call fcn.004fa137
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x42fc7f
push 0x6331a8
mov ecx, eax
call fcn.004086e0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
jmp 0x42fc1a
xor esi, esi
mov dword [ebp - 4], 0xffffffff
jmp 0x42fc1a
xor eax, eax
test esi, esi
setne al
push eax
call fcn.00423a70
mov ecx, eax
call fcn.00412830
jmp case.0x42f31c.1039
mov ecx, edi
mov dword [edi + 0x3b4], esi
call fcn.00439300
mov ecx, edi
call fcn.0042c940
jmp case.0x42f31c.1039
mov dword [edi + 0x3b8], esi
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.004355c0
jmp case.0x42f31c.1039
push esi
call fcn.00423a70
mov ecx, eax
call fcn.00413630
mov ecx, dword [edi + 0x340]
test ecx, ecx
je 0x42fd7b
call fcn.0048b3b0
push eax
lea ecx, [ebp - 0x64]
call fcn.004086e0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 4], 7
cmp dword [eax - 0xc], 0
je 0x42fd37
push 1
call fcn.00423a70
mov ecx, eax
call fcn.00413580
mov ecx, dword [edi + 0x340]
push 0x6331a8
call fcn.0048d490
mov eax, 1
jmp 0x42fd43
call fcn.00423a70
mov ecx, eax
call fcn.00411590
push eax
push esi
call fcn.004091f0
mov ecx, dword [edi + 0x340]
add esp, 8
push eax
call fcn.0048d470
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 0x42fd7b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [edi + 0x360]
test ecx, ecx
je case.0x42f31c.1039
call fcn.0048b3b0
push eax
lea ecx, [ebp - 0x64]
call fcn.004086e0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 4], 8
cmp dword [eax - 0xc], 0
je 0x42fdcc
push 1
call fcn.00423a70
mov ecx, eax
call fcn.00413580
mov ecx, dword [edi + 0x360]
push 0x6331a8
call fcn.0048d490
mov eax, 1
jmp 0x42fdd8
call fcn.00423a70
mov ecx, eax
call fcn.00411590
push eax
push esi
call fcn.004091f0
mov ecx, dword [edi + 0x360]
add esp, 8
push eax
call fcn.0048d470
jmp 0x42f591
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00435430
jmp case.0x42f31c.1039
push edx
push dword [ebp + 0x10]
push esi
push ecx
mov ecx, edi
call fcn.00434ac0
jmp case.0x42f31c.1039
mov ecx, dword [edi + 0x4b4]
test ecx, ecx
jne 0x42fe59
push 0x32c
call fcn.004fa137
add esp, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x42fe4a
push dword [edi + 4]
mov ecx, eax
call fcn.00451480
mov ecx, eax
jmp 0x42fe4c
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 0x42fe72
call fcn.00451b20
jmp case.0x42f31c.1039
push 0
call fcn.00427a00
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x42f31c.1039
mov ecx, dword [edi + 0x4b4]
test ecx, ecx
je case.0x42f31c.1039
push 1
call fcn.004890b0
mov dword [edi + 0x4b4], 0
jmp case.0x42f31c.1039
push dword [ebp + 0x10]
mov ecx, edi
push esi
call fcn.00438240
jmp case.0x42f31c.1039
push 3
mov ecx, edi
call fcn.00438770
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.00438c20
jmp case.0x42f31c.1039
call fcn.00423b00
mov ecx, eax
call fcn.00425660
push 0
push 0x634f88
push 1
push 0
push 0x636760
call fcn.00420eb0
mov ecx, eax
call fcn.0047aa50
mov ecx, edi
call fcn.00432d20
jmp case.0x42f31c.1039
call fcn.00423b00
mov ecx, eax
call fcn.00426240
jmp case.0x42f31c.1039
test esi, esi
je case.0x42f31c.1039
sub esp, 0x28
mov dword [ebp - 0x6c], esp
mov ecx, esp
sub esp, 0x10
mov eax, esp
mov dword [eax], 0x432e30
mov dword [eax + 4], 0
mov dword [eax + 0xc], edi
call fcn.00429c60
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 4], 0xa
jb 0x42ff53
mov eax, dword [esi]
push ecx
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.004086e0
push 0
mov byte [ebp - 4], 0xb
call fcn.00423b00
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.00426160
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x42ffb1
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x42ffa7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43020b
mov eax, edx
push ecx
push eax
call fcn.004fa0f5
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.004fa0f5
add esp, 8
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.0043b950
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.0043bd20
jmp case.0x42f31c.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.00483320
mov ecx, eax
call fcn.00481d60
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.00483320
mov ecx, eax
call fcn.00481d60
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.004fa137
add esp, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x430092
push dword [ebp - 0x68]
mov ecx, dword [esi + 0x870]
push edi
call fcn.00427a00
mov ecx, dword [ebp - 0x64]
push eax
call fcn.0044ad20
mov edi, eax
jmp 0x430094
xor edi, edi
push 0
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push 0x80
push SysReAllocStringLen
push 0x6331a8
push 0
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
call fcn.004890e0
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.00426ea0
push 1
push 1
mov ecx, edi
call fcn.00489870
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je case.0x42f31c.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.0x42f31c.1039
mov ecx, edi
call fcn.0043b7c0
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.0043bb90
jmp case.0x42f31c.1039
push 2
push 0x37
push 1
lea ecx, [ebp - 0x80]
call fcn.00468e80
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.0043bf90
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x80]
call fcn.00468de0
push 0
lea eax, [ebp - 0x80]
push 1
push eax
call fcn.0042e780
mov ecx, eax
call fcn.00421760
push 2
push esi
call fcn.004fa0f5
mov edx, dword [ebp - 0x24]
add esp, 8
cmp edx, 8
jb 0x4301c7
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4301bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43020b
push edx
push ecx
call fcn.004fa0f5
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.00468f80
jmp case.0x42f31c.1039
mov ecx, edi
call fcn.00437470
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.004fa103
or al, 0
mov esp, ebp
pop ebp
ret 0x10
call fcn.005e72a0
js 0x430203
inc edx
add byte [edx + 0x660042f1], cl
int1
inc edx
add al, ah
invalid