Function at 0x45e502
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x200
mov ebx, dword [ebp + 0x10]
mov edi, edx
mov dword [esp + 0x74], ecx
call fcn.005f2e70
cmp byte [edi + 0x218], 1
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], edi
jne 0x45e770
mov eax, dword [edi + 0x204]
lea esi, [edi + 0x204]
test eax, eax
cmove esi, eax
je 0x45e768
call dword [sym.imp.user32.dll_GetActiveWindow]
test eax, eax
je 0x45e64f
lea edi, [esp + 0x90]
mov edx, esi
mov dword [esp + 0x10], eax
mov ecx, edi
call fcn.00472527
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov edx, dword [edi + 0xc]
lea ebx, [esp + 0x20]
lea esi, [esp + 0x90]
mov ecx, esi
mov dword [ebx + 8], eax
movsd qword [ebx], xmm0
push ebx
push dword [edi + 0x10]
call fcn.005235f3
pop eax
pop ecx
mov esi, dword [esi]
test esi, esi
je 0x45e656
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
lea edi, [esp + 0x140]
mov dword [edi], esi
mov dword [edi + 4], ecx
mov dword [edi + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], ecx
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x10], eax
push 0xb
call dword [sym.imp.user32.dll_GetSystemMetrics]
mov ecx, edi
mov edx, eax
call fcn.0045f4ce
test eax, eax
je 0x45e6e4
push eax
push 1
push 0x80
push dword [esp + 0x1c]
call sub.user32.dll_SendMessageW
push 0x31
call dword [sym.imp.user32.dll_GetSystemMetrics]
lea ecx, [esp + 0x140]
mov edx, eax
call fcn.0045f4ce
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x45e722
push eax
push 0
push 0x80
push dword [esp + 0x1c]
call sub.user32.dll_SendMessageW
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.004bd77e
mov al, 2
jmp 0x45e76a
mov al, 1
jmp 0x45e76a
push 0x10
pop ecx
xor edx, edx
call fcn.00567657
mov dword [eax], 0x61766e49
mov dword [eax + 4], 0x2064696c
mov dword [eax + 8], 0x6e6f6349
mov dword [eax + 0xc], 0x61746144
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], 0x10
mov ecx, dword [0xa7101c]
cmp ecx, 1
jbe 0x45e6d9
xor edx, edx
lea ecx, [esp + 0x90]
lea eax, [esp + 0x1f4]
inc edx
mov dword [ecx], str.Invalid_icon:
mov dword [eax], ebx
mov dword [eax + 4], fcn.0040df34
mov dword [ecx + 4], edx
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
push 2
pop edx
push 0x810488
call fcn.00565e75
pop eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
mov ecx, eax
jmp 0x45e763
mov eax, dword [0xa7101c]
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x10]
cmp eax, 2
jb 0x45e75d
lea ecx, [esp + 0x90]
mov dword [ecx], str.Failed_to_create_HICON__for_big_icon__from_embedded_png_data.
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.dest_is_out_of_bounds
and dword [ecx + 0xc], 0
push 2
pop edx
push 0x8104ec
jmp 0x45e757
mov eax, dword [0xa7101c]
cmp eax, 2
jb 0x45e75d
lea ecx, [esp + 0x90]
mov dword [ecx], str.Failed_to_create_HICON__for_small_icon__from_embedded_png_data.
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.dest_is_out_of_bounds
and dword [ecx + 0xc], 0
push 2
pop edx
push 0x810550
call fcn.00565e75
pop eax
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.004bd77e
xor eax, eax
mov byte [edi + 0x218], al
mov ecx, dword [edi + 0x21c]
call fcn.0048a16d
mov eax, dword [esp + 0x18]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [esp + 0x90]
mov ecx, esi
lea edi, [eax + 0xc0]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x221]
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 0x220]
push ebx
call fcn.00460387
add esp, 0xc
push 9
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
movss xmm0, dword [edi + 0xa4]
mov ecx, dword [edi + 0x78]
mov edx, dword [edi + 0x7c]
movss dword [esp + 0x10], xmm0
push dword [edi + 0x80]
call fcn.005f3430
add esp, 4
movd xmm1, eax
movd xmm0, edx
and dword [edi + 4], 0
lea eax, [esp + 0x140]
mov dword [edi], 1
punpckldq xmm1, xmm0
punpckldq xmm1, xmmword [0x6462d0]
subpd xmm1, xmmword [0x6462e0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
movd xmm1, ecx
por xmm1, xmmword [0x6463f0]
subsd xmm1, qword [0x6461f8]
divsd xmm1, qword [0x646400]
addsd xmm1, xmm0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x80], xmm1
movsd qword [edi + 8], xmm1
movapd xmmword [eax], xmm0
push eax
push ebx
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je 0x45f30f
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x148]
movq xmm1, qword [0x6461f8]
xorps xmm3, xmm3
xorps xmm4, xmm4
sub ecx, dword [esp + 0x144]
sub eax, dword [esp + 0x140]
movd xmm2, ecx
movd xmm0, eax
por xmm2, xmm1
por xmm0, xmm1
subsd xmm2, xmm1
subsd xmm0, xmm1
cvtsd2ss xmm1, xmm2
movss xmm2, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
divss xmm0, xmm2
divss xmm1, xmm2
xorps xmm2, xmm2
cmpltps xmm3, xmm1
cmpltps xmm4, xmm0
addss xmm0, xmm2
addss xmm1, xmm2
andps xmm4, xmm3
movd eax, xmm4
and eax, 1
mov dword [edi + 0x20], eax
and dword [edi + 0x24], 0
and dword [edi + 0x28], 0
movss dword [edi + 0x2c], xmm0
movss dword [edi + 0x30], xmm1
movsd xmm0, qword [edi + 0x28]
mov eax, dword [edi + 0x30]
movsd qword [esp + 0x168], xmm0
movsd xmm0, qword [edi + 0x20]
and dword [edi + 0x20], 0
mov dword [esp + 0x170], eax
mov ecx, dword [edi + 0x10]
movsd qword [esp + 0x160], xmm0
movss xmm0, dword [edi + 0x14]
and dword [edi + 0x10], 0
mov edx, dword [edi + 0x18]
mov ebx, dword [edi + 0x1c]
and dword [edi + 0x18], 0
and dword [edi], 0
and dword [edi + 4], 0
mov dword [esp + 0x54], ecx
mov al, byte [edi + 0x60]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edi + 0x58]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebx
mov byte [esp + 0x1a0], al
mov eax, dword [edi + 0x5c]
movss dword [esp + 0x58], xmm0
movsd xmm0, qword [edi + 0x34]
mov dword [edi + 0x34], 8
mov dword [esp + 0x19c], eax
mov eax, dword [edi + 0x3c]
and dword [edi + 0x38], 0
and dword [edi + 0x3c], 0
mov esi, dword [edi + 0x40]
movsd qword [esp + 0x174], xmm0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x34], esi
mov esi, dword [edi + 0x48]
test esi, esi
mov dword [esp + 0x40], esi
je 0x45e9d4
cmp esi, 0x4924925
setb al
jae 0x45f308
imul esi, esi, 0x1c
test esi, esi
js 0x45f308
xor ebx, ebx
mov bl, al
mov edx, esi
shl ebx, 2
mov ecx, ebx
call fcn.0043bd7b
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x45e9db
mov ecx, ebx
mov edx, esi
call fcn.0063c970
ud2
push 4
pop eax
mov dword [esp + 0x1c], eax
lea eax, [edi + 0x21c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov dword [esp + 0x38], eax
lea eax, [edi + 0xb0]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x44], eax
imul eax, edi, 0x1c
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
sub edi, 1
jb 0x45eada
cmp dword [esp + 0x3c], esi
je 0x45eada
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
lea ebx, [eax + esi]
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x18]
cmp cl, 2
jne 0x45ea3a
mov byte [esp + 0xa8], 2
jmp 0x45ea7c
mov eax, dword [esp + 0x34]
mov byte [esp + 0xf], cl
lea ecx, [esp + 0x20]
mov edx, dword [eax + esi + 0xc]
push dword [eax + esi + 0x14]
call fcn.004822af
pop eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x2c], al
lea eax, [esp + 0x9c]
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x28]
movsd qword [eax], xmm0
movsd qword [eax + 8], xmm1
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
lea ecx, [eax + 0x1c]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x90]
push dword [eax + 8]
call fcn.0043b820
pop eax
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xa0]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
add esi, 0x1c
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x10]
movsd qword [ebx + 0x10], xmm2
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
jmp 0x45ea06
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x38]
lea edi, [esp + 0x90]
mov ecx, edi
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x40]
movsd xmm0, qword [ebx + 0x4c]
mov dword [ebx + 0x4c], 4
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov eax, dword [ebx + 0x54]
movsd qword [esp + 0x18c], xmm0
movss xmm0, dword [esp + 0x50]
and dword [ebx + 0x50], 0
and dword [ebx + 0x54], 0
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x4c]
movss dword [esp + 0x154], xmm0
movaps xmm0, xmmword [esp + 0x80]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x44]
and dword [esp + 0x144], 0
mov dword [esp + 0x140], 1
movsd qword [esp + 0x148], xmm0
movss xmm0, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov al, byte [ebx + 0x61]
movss dword [esp + 0x198], xmm0
mov byte [esp + 0x1a1], al
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x144]
push eax
call fcn.0046053e
pop eax
pop ecx
lea esi, [ebx + 0x138]
mov edx, edi
mov ecx, esi
call fcn.00494014
mov ecx, edi
call fcn.00464e9d
mov edi, 0xb0
push edi
push esi
lea eax, [esp + 0x148]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push edi
mov edi, ebx
lea eax, [esp + 0x94]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [edi + 0x10f]
mov ecx, dword [edi + 0xe8]
movss xmm0, dword [ebx + 0xec]
mov esi, dword [edi + 0x100]
mov edx, 0x2020202
mov byte [esp + 0x34], al
mov al, byte [edi + 0x112]
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0xf4]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [ebx + 0xf0]
mov byte [esp + 0xf], al
mov al, byte [edi + 0x113]
mov dword [esp + 0x80], ecx
mov ecx, dword [edi + 0x104]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [ebx + 0xf8]
mov byte [esp + 0x3c], al
mov al, byte [edi + 0x114]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edi + 0x108]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [ebx + 0xfc]
mov bh, byte [ebx + 0x10e]
mov bl, byte [edi + 0x111]
mov byte [esp + 0x10], al
mov al, byte [edi + 0x115]
mov dword [esp + 0x48], ecx
movzx ecx, byte [edi + 0x110]
movss dword [esp + 0x64], xmm0
mov byte [esp + 0x33], al
mov al, byte [edi + 0x116]
mov dword [esp + 0x50], ecx
mov cl, byte [edi + 0x10c]
mov byte [esp + 0x17], al
xor eax, eax
cmp byte [edi + 0x10d], al
sete byte [esp + 0x1c]
and dword [edi + 0xe8], 0
and dword [edi + 0xf4], 0
and dword [edi + 0x100], 0
and word [edi + 0x10c], 0
cmp byte [edi + 0x223], al
mov byte [edi + 0x10e], al
mov dword [edi + 0x10f], edx
mov dword [edi + 0x112], edx
mov byte [edi + 0x116], 3
mov byte [edi + 0x223], al
sete byte [esp + 0x54]
cmp cl, al
je 0x45ed7d
push dword [ebp + 8]
mov eax, dword [ebp + 0xc]
call dword [eax + 0x14]
add esp, 4
mov byte [edi + 0x222], al
mov eax, dword [0xa7101c]
cmp eax, 4
jb 0x45ed7d
lea eax, [edi + 0x222]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [ecx], str.App::on_close_event_returned
mov dword [esp + 0x24], fcn.00447000
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
push 4
pop edx
push 0x8106bc
call fcn.00565e75
pop eax
mov byte [edi + 0x111], bl
mov byte [edi + 0x10e], bh
mov dword [esp + 0x58], esi
cmp byte [edi + 0x116], 3
je 0x45ed9d
mov byte [edi + 0x116], 3
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
call fcn.0048a16d
mov dl, byte [esp + 0x34]
mov esi, dword [ebp + 0x10]
mov bh, byte [esp + 0x1c]
movss dword [esp + 0x38], xmm0
cmp dl, 2
je 0x45ee65
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lock inc dword [eax]
jle 0x45f323
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 8]
test dl, dl
mov dword [esp + 0x20], eax
setne byte [esp + 0x28]
call fcn.00628c83
test al, al
je 0x45ee03
lea esi, [esp + 0x20]
push esi
call fcn.004659a7
pop eax
mov ecx, esi
call fcn.0045e3ba
mov bh, byte [esp + 0x1c]
jmp 0x45ee62
mov ebx, esi
push 0xc
pop ecx
push 4
pop esi
mov edx, esi
call fcn.004a3937
movsd xmm0, qword [esp + 0x20]
mov edi, eax
movsd qword [eax], xmm0
mov eax, dword [esp + 0x28]
mov dword [edi + 8], eax
push 8
pop ecx
mov edx, esi
call fcn.004a3937
mov dword [eax], edi
mov dword [eax + 4], 0x80b388
mov ecx, 0xa70b98
mov esi, eax
mov edi, dword [ebx + 0xc]
call fcn.00625819
push 0
push esi
push eax
push edi
mov edi, dword [esp + 0x28]
call dword [sym.imp.user32.dll_PostMessageW]
mov bh, byte [esp + 0x1c]
test eax, eax
je 0x45f33c
mov esi, dword [ebp + 0x10]
cmp dword [esp + 0x40], 1
jne 0x45ef1a
mov ecx, dword [esi]
call fcn.00496d99
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x1c], xmm0
cvtss2sd xmm0, xmm0
call fcn.00464f13
test al, al
je 0x45f327
movss xmm0, dword [esp + 0x5c]
mulss xmm0, dword [esp + 0x38]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
pop eax
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x60]
mulss xmm0, dword [esp + 0x38]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
pop eax
fstp dword [esp + 0x7c]
lea edx, [esp + 0x90]
mov ecx, esi
movss xmm0, dword [esp + 0x7c]
movss xmm1, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x34]
divss xmm0, xmm1
divss xmm2, xmm1
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm2
movsd qword [edx + 8], xmm0
movsd qword [edx + 0x10], xmm1
mov dword [edx], 1
call fcn.00464f3a
mov ecx, dword [esp + 0x50]
mov al, byte [esp + 0x10]
mov byte [esp + 0x1c], bh
cmp ecx, 2
je 0x45ef64
test ecx, ecx
jne 0x45ef3a
xor ecx, ecx
xor esi, esi
call fcn.005777fa
jmp 0x45ef4d
and dword [esp + 0x98], 0
and dword [esp + 0x94], 0
xor esi, esi
inc esi
lea edx, [esp + 0x90]
mov dword [edx], esi
mov esi, dword [ebp + 0x10]
mov ecx, esi
call fcn.00465042
mov al, byte [esp + 0x10]
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x45efb0
lea esi, [esp + 0x90]
mov edx, ebx
mov ecx, esi
push dword [esp + 0x48]
call fcn.00625224
pop eax
mov edi, dword [esi]
push edi
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
call dword [sym.imp.user32.dll_SetWindowTextW]
mov edx, dword [esi + 4]
mov ecx, edi
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 0x18]
call fcn.005ae0c4
mov edx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.004bd77e
mov al, byte [esp + 0x10]
mov bl, byte [esp + 0x1c]
or bl, byte [esp + 0x54]
cmp dword [esp + 0x80], 1
jne 0x45eff0
cvtss2sd xmm0, dword [esp + 0x44]
cvtss2sd xmm1, dword [esp + 0x64]
lea edx, [esp + 0x90]
mov ecx, esi
movsd qword [edx + 8], xmm0
movsd qword [edx + 0x10], xmm1
mov dword [edx], 1
call fcn.00465234
mov al, byte [esp + 0x10]
test bl, bl
mov bl, byte [esp + 0xf]
jne 0x45f06d
and dword [esp + 0x90], 0
and dword [esp + 0x94], 0
lea ebx, [esp + 0x90]
push ebx
call dword [sym.imp.user32.dll_GetCursorPos]
movzx eax, word [esp + 0x90]
movzx ecx, word [esp + 0x94]
mov word [esp + 0x90], ax
mov word [esp + 0x92], cx
call dword [sym.imp.user32.dll_ReleaseCapture]
mov ecx, dword [esi]
call fcn.0062990d
movzx edx, dl
mov ecx, eax
mov byte [eax + 0xc4], 1
call fcn.00608264
push ebx
mov bl, byte [esp + 0x13]
push 2
push 0xa1
push dword [esi + 4]
call dword [sym.imp.user32.dll_PostMessageW]
mov al, byte [esp + 0x10]
cmp bl, 2
je 0x45f086
cmp bl, 1
push 2
pop edx
sbb edx, 0
mov ecx, esi
call fcn.00629cf7
mov al, byte [esp + 0x10]
cmp byte [esp + 0x3c], 2
je 0x45f150
mov edi, dword [esi]
mov ebx, esi
mov esi, dword [esi + 4]
lock inc dword [edi]
jle 0x45f323
mov ecx, esi
call fcn.0062846e
mov ecx, dword [ebx + 8]
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov byte [esp + 0x28], al
setne byte [esp + 0x29]
call fcn.00628c83
test al, al
je 0x45f0e6
lea eax, [esp + 0x20]
lea esi, [esp + 0x24]
push eax
call fcn.0046557d
pop eax
mov ecx, esi
call fcn.0045e3ba
mov edi, dword [esp + 0x18]
jmp 0x45f13f
push 0xc
pop ecx
push 4
pop esi
mov edx, esi
call fcn.004a3937
movsd xmm0, qword [esp + 0x20]
mov edi, eax
movsd qword [eax], xmm0
mov eax, dword [esp + 0x28]
mov dword [edi + 8], eax
push 8
pop ecx
mov edx, esi
call fcn.004a3937
mov dword [eax], edi
mov dword [eax + 4], 0x80b3b0
mov ecx, 0xa70b98
mov esi, eax
mov edi, dword [ebx + 0xc]
call fcn.00625819
push 0
push esi
push eax
push edi
call dword [sym.imp.user32.dll_PostMessageW]
mov edi, dword [esp + 0x18]
test eax, eax
je 0x45f33c
mov al, byte [esp + 0x3c]
mov esi, dword [ebp + 0x10]
mov byte [edi + 0x220], al
mov al, byte [esp + 0x10]
cmp al, 2
je 0x45f16a
xor edx, edx
test al, al
mov ecx, esi
mov ebx, eax
setne dl
call fcn.00465376
mov byte [edi + 0x221], bl
mov edi, dword [esi]
mov ecx, edi
call fcn.0046543c
test al, al
jne 0x45f270
movzx ecx, byte [esp + 0x33]
xor edx, edx
inc edx
call fcn.00465481
test al, al
je 0x45f1dd
mov eax, dword [ebp + 0x10]
mov ecx, edi
mov esi, dword [eax + 4]
call fcn.0062990d
mov bl, byte [eax + 0xbc]
movzx edx, dl
mov ecx, eax
call fcn.00608264
mov ecx, esi
call fcn.0062846e
mov bh, al
call dword [sym.imp.user32.dll_GetForegroundWindow]
test bl, 0x10
je 0x45f270
test bh, bh
jne 0x45f270
cmp esi, eax
je 0x45f270
mov ecx, esi
call fcn.00629a35
jmp 0x45f270
cmp byte [esp + 0x17], 3
je 0x45f270
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 4]
call dword [sym.imp.user32.dll_GetActiveWindow]
cmp ebx, eax
je 0x45f270
mov al, byte [esp + 0x17]
mov dword [esp + 0x20], ebx
mov byte [esp + 0x24], al
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
call fcn.00628c83
test al, al
je 0x45f220
lea eax, [esp + 0x20]
push eax
call fcn.004654a6
pop eax
jmp 0x45f270
push 8
pop ecx
push 4
pop edi
mov edx, edi
call fcn.004a3937
mov esi, eax
mov dword [eax], ebx
mov al, byte [esp + 0x17]
mov byte [esi + 4], al
push 8
pop ecx
mov edx, edi
call fcn.004a3937
mov dword [eax], esi
mov edi, eax
mov dword [eax + 4], 0x80b3c4
mov eax, dword [ebp + 0x10]
mov ecx, 0xa70b98
mov esi, dword [eax + 0xc]
call fcn.00625819
push 0
push edi
push eax
push esi
call dword [sym.imp.user32.dll_PostMessageW]
test eax, eax
je 0x45f33c
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
push dword [esp + 0x68]
call fcn.005f3430
add esp, 4
movd xmm1, eax
movd xmm0, edx
mov eax, dword [esp + 0x18]
punpckldq xmm1, xmm0
punpckldq xmm1, xmmword [0x6462d0]
mov dword [eax + 0xb0], 1
subpd xmm1, xmmword [0x6462e0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
movd xmm1, ecx
por xmm1, xmmword [0x6463f0]
subsd xmm1, qword [0x6461f8]
divsd xmm1, qword [0x646400]
addsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
movss dword [eax + 0xb4], xmm0
mov eax, 0xb0
push eax
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x7c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0043aad0
ud2
lea ecx, [esp + 0x90]
mov edx, 0x8133b4
mov dword [ecx], str.Unexpected_GetClientRect_failure:_please_report_this_error_to_https:__github.com_rust_windowing_winit
jmp 0x45f34e
ud2
push 0x35
pop edx
mov ecx, str.assertion_failed:_validate_scale_factor_scale_factor_cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.5_srcdpi.rs
push 0x80bc30
call fcn.0063cd70
pop eax
ud2
lea ecx, [esp + 0x90]
mov edx, 0xa396ac
mov dword [ecx], str.PostMessage_failed__is_the_messages_queue_full_
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.dest_is_out_of_bounds
and dword [ecx + 0xc], 0
call fcn.0063cbf0
ud2