Function at 0x417bb0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x633754]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [0x63c720]
mov edx, dword [0x63c724]
mov dword [ebp - 0x274], eax
mov eax, dword [0x63c728]
add eax, ecx
mov dword [ebp - 0x21c], ecx
push ebx
mov dword [ebp - 0x214], eax
mov eax, dword [0x63c72c]
push esi
add eax, edx
mov dword [ebp - 0x218], edx
push edi
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x21c]
push 2
push eax
call dword [sym.imp.USER32.dll_MonitorFromRect]
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x244], 0x28
push ecx
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [0x639470]
cmp eax, 1
jne 0x417c5e
mov ebx, SysReAllocString
mov dword [0x63c730], 0
mov ecx, ebx
mov dword [0x63c72c], ebx
mov edi, ebx
mov dword [0x63c724], ecx
mov dword [0x63c728], edi
mov esi, ecx
jmp 0x418024
cmp eax, 4
jl 0x417e0c
push 0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [0x639470]
mov ecx, eax
mov ebx, dword [ebp - 0x214]
and ecx, 8
mov dword [ebp - 0x268], ecx
mov ecx, dword [ebp - 0x21c]
je 0x417caa
mov eax, ebx
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x639470]
sar esi, 1
jmp 0x417cac
mov esi, ecx
sub ebx, ecx
mov dword [0x63c720], esi
mov ecx, eax
mov dword [ebp - 0x260], ebx
mov eax, ebx
and ecx, 0xc
cdq
sub eax, edx
mov dword [ebp - 0x26c], ecx
mov edi, eax
mov eax, dword [0x639470]
sar edi, 1
test ecx, ecx
mov ecx, eax
cmove edi, ebx
mov ebx, dword [ebp - 0x210]
and ecx, 0x20
mov dword [ebp - 0x270], ecx
je 0x417d01
mov eax, ebx
sub eax, dword [ebp - 0x218]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [0x639470]
sar ecx, 1
jmp 0x417d07
mov ecx, dword [ebp - 0x218]
sub ebx, dword [ebp - 0x218]
and eax, 0x30
mov dword [ebp - 0x25c], eax
mov eax, ebx
cdq
sub eax, edx
mov dword [ebp - 0x258], ebx
mov edx, dword [ebp - 0x258]
mov ebx, eax
mov eax, dword [0x639470]
sar ebx, 1
cmp dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], eax
cmove ebx, edx
mov dword [0x63c724], ecx
and dword [ebp - 0x258], 0x40
mov dword [ebp - 0x264], ebx
mov dword [0x63c728], edi
mov dword [0x63c72c], ebx
je 0x417d8d
mov esi, dword [ebp - 0x21c]
mov ebx, edx
mov ecx, dword [ebp - 0x218]
mov edi, dword [ebp - 0x260]
mov dword [0x63c720], esi
mov dword [0x63c724], ecx
mov dword [0x63c728], edi
mov dword [0x63c72c], ebx
cmp dword [ebp - 0x258], 0
cmove edx, dword [ebp - 0x264]
test al, al
jns 0x41802a
xor eax, eax
mov ebx, edx
cmp dword [ebp - 0x268], eax
sete al
lea eax, [eax*4 + 4]
add esi, eax
xor eax, eax
cmp dword [ebp - 0x26c], eax
sete al
lea eax, [eax*4 + 0xc]
sub edi, eax
xor eax, eax
cmp dword [ebp - 0x270], eax
mov dword [0x63c728], edi
sete al
lea eax, [eax*4 + 4]
add ecx, eax
xor eax, eax
cmp dword [ebp - 0x25c], eax
mov dword [0x63c724], ecx
sete al
lea eax, [eax*4 + 0xc]
sub ebx, eax
mov dword [0x63c72c], ebx
jmp 0x418024
cmp eax, 2
je 0x417fa8
cmp eax, 3
je 0x417fa8
mov ecx, dword [0x63c720]
cmp ecx, 0x80000000
je 0x417fa8
mov edx, dword [0x63c724]
cmp edx, 0x80000000
je 0x417fa8
mov edi, dword [0x63c728]
cmp edi, 0x80000000
je 0x417fa8
mov esi, dword [0x63c72c]
cmp esi, 0x80000000
je 0x417fa8
mov ebx, dword [ebp - 0x230]
mov eax, ebx
sub eax, dword [ebp - 0x240]
sub edx, dword [ebp - 0x23c]
add ecx, eax
mov eax, dword [ebp - 0x22c]
add edx, eax
cmp ecx, ebx
cmovl ecx, ebx
mov ebx, dword [ebp - 0x228]
cmp edx, eax
mov dword [0x63c720], ecx
cmovl edx, eax
lea eax, [edi + ecx]
mov dword [0x63c724], edx
cmp eax, ebx
jle 0x417ecf
mov ecx, ebx
sub ecx, edi
cmp ecx, dword [ebp - 0x230]
cmovl ecx, dword [ebp - 0x230]
mov dword [0x63c720], ecx
lea eax, [edi + ecx]
cmp eax, ebx
jle 0x417ecf
mov edi, ebx
sub edi, ecx
mov dword [0x63c728], edi
mov ebx, dword [ebp - 0x224]
lea eax, [esi + edx]
cmp eax, ebx
jle 0x417f04
mov edx, ebx
sub edx, esi
cmp edx, dword [ebp - 0x22c]
cmovl edx, dword [ebp - 0x22c]
mov dword [0x63c724], edx
lea eax, [esi + edx]
cmp eax, ebx
jle 0x417f04
mov esi, ebx
sub esi, edx
mov dword [0x63c72c], esi
lea eax, [esi + edx]
push eax
lea eax, [edi + ecx]
push eax
push edx
push ecx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
jne 0x417f8b
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x228]
mov edx, dword [ebp - 0x224]
sub edx, eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x258], ecx
mov dword [0x63c724], ecx
mov ecx, esi
sub ecx, dword [ebp - 0x230]
lea ebx, [edx - 0x20]
mov edi, ebx
mov dword [0x63c72c], ebx
lea eax, [ecx - 0x20]
cmp eax, ebx
cmovl edi, eax
cmovge ecx, edx
sub esi, ecx
mov dword [0x63c728], edi
add esi, 0x10
jmp 0x41801e
mov ebx, dword [0x63c72c]
mov edi, dword [0x63c728]
mov ecx, dword [0x63c724]
mov esi, dword [0x63c720]
jmp 0x41802a
push 0
lea eax, [ebp - 0x21c]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 0x218]
mov esi, dword [ebp - 0x214]
mov edx, esi
sub edx, dword [ebp - 0x21c]
lea ecx, [eax + 0x10]
mov dword [ebp - 0x258], ecx
mov dword [0x63c724], ecx
mov ecx, dword [ebp - 0x210]
sub ecx, eax
lea eax, [edx - 0x20]
lea ebx, [ecx - 0x20]
cmp eax, ebx
mov dword [0x63c72c], ebx
mov edi, ebx
cmovl edi, eax
cmovge edx, ecx
sub edx, 0x20
mov dword [0x63c728], edi
cmp dword [0x639470], 3
jne 0x418019
mov esi, dword [ebp - 0x21c]
add esi, 0x10
jmp 0x41801e
sub esi, edx
sub esi, 0x10
mov ecx, dword [ebp - 0x258]
mov dword [0x63c720], esi
push 0
push dword [ebp - 0x274]
push 0
push 0
push ebx
push edi
push ecx
push esi
push 0x2cf0000
push 0x5df804
push 0x5df788
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
cmp dword [0x63c730], 0
mov ecx, 3
mov esi, dword [ebp + 0x10]
cmovne esi, ecx
mov dword [0x640174], eax
cmp dword [0x63c748], 0
mov ecx, dword [0x639448]
jne 0x41807c
cmp ecx, 2
jne 0x418099
cmp ecx, 1
je 0x418099
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x640174]
cmp dword [0x63c740], 0
je 0x4180ad
push 1
push eax
call fcn.00414950
add esp, 8
push 0x6394b0
push 0
push 0
push 1
push 1
call fcn.0041c8b0
add esp, 0x14
cmp dword [0x639444], 0
jne 0x4180e6
push esi
push dword [0x640174]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x640174]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x418104
push 0
push dword [0x640174]
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push dword [0x640174]
call fcn.00419070
add esp, 8
mov eax, dword [0x637898]
test eax, eax
je 0x418120
push eax
call fcn.00410760
mov ecx, eax
add esp, 4
mov dword [0x5df770], ecx
jmp 0x418126
mov ecx, dword [0x5df770]
mov eax, dword [0x63788c]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x418231
push eax
xor esi, esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
push dword [0x63788c]
test eax, eax
je 0x4181c0
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [0x640174]
call fcn.0041d5b0
add esp, 0x10
test eax, eax
je 0x418185
lea eax, [ebp - 0x20c]
push eax
push esi
push esi
push esi
push esi
call fcn.0041c8b0
add esp, 0x14
mov esi, eax
push dword [0x63788c]
call edi
test esi, esi
je 0x418260
mov eax, dword [0x63948c]
cmp eax, 1
jne 0x41820e
push 0x63c3c0
mov dword [0x63c75c], 0
mov dword [0x63c758], eax
call fcn.004192b0
add esp, 4
jmp 0x418260
push 0
push 0
push 0
push 0
call fcn.0041c8b0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x418185
cmp dword [0x639484], 0
je 0x418185
push dword [0x63c338]
push dword [0x63c33c]
push dword [0x64018c]
call fcn.0040e700
push dword [0x64018c]
call fcn.0040e930
add esp, 0x10
push dword [0x63788c]
call edi
jmp 0x418195
cmp eax, 2
jne 0x418260
push 0x63c3c0
mov dword [0x63c75c], eax
mov dword [0x63c758], 1
call fcn.004192b0
add esp, 4
jmp 0x418260
cmp ecx, 0xffffffff
je 0x418260
test ecx, ecx
mov dword [0x63c350], ecx
push 0
mov eax, 0xfde9
mov dword [0x63c34c], ecx
cmove eax, dword [0x63c344]
push eax
push 0x7f5
push dword [0x64018c]
call ebx
cmp dword [0x639474], 0
mov dword [0x5df770], 0xffffffff
mov dword [0x639494], 0
mov dword [0x6378a4], 0
je 0x418367
push 0
push 0
push 0x87d
push dword [0x64018c]
call ebx
test eax, eax
je 0x418367
mov esi, dword [0x63c814]
push 0
push 0xffffffffffffffff
push dword [0x64018c]
mov dword [0x63c814], 0
call fcn.0040e700
add esp, 0xc
push 0
push 0
push 0x81e
push dword [0x64018c]
call ebx
push 0
push 0
push 0x7d6
push dword [0x64018c]
call ebx
test eax, eax
jle 0x4182fd
push 0
push 0
push 0x919
push dword [0x64018c]
call ebx
push 0
push 0
push 0x883
push dword [0x64018c]
call ebx
push 0
push 0
push 0x919
push dword [0x64018c]
call ebx
push 0
push 0
push 0x81f
push dword [0x64018c]
call ebx
cmp dword [0x639484], 0
mov dword [0x63c814], esi
je 0x418359
push dword [0x63c338]
push dword [0x63c33c]
push dword [0x64018c]
call fcn.0040e700
add esp, 0xc
push dword [0x64018c]
call fcn.0040e930
add esp, 4
mov eax, dword [0x63947c]
test eax, eax
je 0x418397
add eax, 0xffff9ca3
push 0
movzx eax, ax
or eax, 0x10000
push eax
push 0x111
push dword [0x640174]
call ebx
mov dword [0x63947c], 0
mov eax, dword [0x639480]
test eax, eax
je 0x4183c7
add eax, 0xffff9d07
push 0
movzx eax, ax
or eax, 0x10000
push eax
push 0x111
push dword [0x640174]
call ebx
mov dword [0x639480], 0
cmp dword [0x639488], 0
je 0x41850a
mov eax, dword [0x637894]
test eax, eax
je 0x41850a
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x418502
push 0
push 0
push 0x7d6
push dword [0x64018c]
call ebx
test eax, eax
je 0x418502
push 0
push 0
push 0x859
push dword [0x64018c]
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
push 0
push 0
push 0x200
push 0x6379c0
push 0xffffffffffffffff
push dword [0x637894]
push 0
push edi
call esi
push 0
push 0
push 0x600
push 0x637dc0
push 0xffffffffffffffff
push dword [0x637894]
push 0
push 0xfde9
call esi
mov ecx, dword [0x639488]
mov dword [0x6379bc], edi
test cl, 4
je 0x418479
or dword [0x6389c0], 0x600000
jmp 0x41848e
mov eax, dword [0x6389c4]
test cl, 8
mov edx, 1
cmovne eax, edx
mov dword [0x6389c4], eax
test cl, 2
je 0x4184c2
cmp dword [0x639484], 0
jne 0x4184ae
push 0
push 0xffffffffffffffff
push dword [0x64018c]
call fcn.0040e700
add esp, 0xc
push 0
push 0x6379c0
push dword [0x64018c]
call fcn.0040ef30
jmp 0x4184ee
cmp dword [0x639484], 0
jne 0x4184dc
push 0
push 0
push 0x90c
push dword [0x64018c]
call ebx
push 0
push 0x6379c0
push dword [0x64018c]
call fcn.0040ed30
push dword [0x64018c]
call fcn.0040e930
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
add esp, 0x10
push dword [0x637894]
call edi
cmp dword [0x639478], 0
pop edi
pop esi
pop ebx
je 0x4185c4
push dword [0x640174]
mov dword [0x6378a0], 1
call dword [sym.imp.USER32.dll_SetClipboardViewer]
cmp dword [0x63c354], 0
mov dword [0x637468], eax
mov dword [0x5df778], 0x2712
jne 0x418559
mov eax, dword [0x63c350]
cmp eax, dword [0x63c34c]
jne 0x418559
xor eax, eax
jmp 0x41855e
mov eax, 1
push 0x6378a8
push dword [0x63789c]
push 0x2715
push eax
push dword [0x63c834]
push 0x63c3c0
push 0x2713
push dword [0x6391e8]
push 0x2712
push dword [0x640174]
call fcn.00414670
add esp, 0x28
mov dword [0x6378a0], 0
mov dword [0x63c330], 0
push 0x419580
push 0x64
push 0xa001
push dword [0x640174]
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x639490], 0
je 0x41861b
mov eax, dword [0x637890]
test eax, eax
je 0x4185f8
push eax
push 0x63c3c0
push dword [0x64018c]
call fcn.00429b40
add esp, 0xc
push dword [0x637890]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x418611
mov eax, dword [0x63c334]
cmp eax, 0x25
ja 0x418611
push eax
push dword [0x64018c]
call fcn.00429be0
add esp, 8
mov dword [0x639490], 0
cmp dword [0x639444], 0
je 0x418632
push dword [0x640174]
call fcn.00419150
add esp, 4
call fcn.0041c4c0
call fcn.0041c190
mov ecx, dword [ebp - 4]
mov eax, dword [0x640174]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret