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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x1c], edx
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0
push eax
push eax
mov esi, dword [ebx + 0x10]
mov ecx, 0x4eb673
mov edi, dword [ebx + 4]
test esi, esi
push eax
mov eax, ecx
cmovne eax, esi
test edi, edi
push eax
cmovne ecx, edi
lea eax, [esp + 0x1c]
push ecx
push str.SoftwareRdpZapperSessions_s____s
push 0
push eax
call fcn.00482d60
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + 0x7c]
push 0x7bb
push str.Main.c
push 0x12
push 0x10
push eax
mov edx, str.RdpRect
call fcn.004702c0
mov ecx, dword [esp + 0x40]
lea edi, [ebx + 0x6c]
push 0x7bc
push str.Main.c
push 0x12
push 0x10
push edi
mov edx, str.Rect
call fcn.004702c0
mov ecx, dword [esp + 0x54]
lea eax, [ebx + 0x8c]
add esp, 0x48
mov edx, str.MonitorRect
push 0x7bd
push str.Main.c
push 0x12
push 0x10
push eax
call fcn.004702c0
mov ecx, dword [esp + 0x20]
lea eax, [ebx + 0x9c]
push 0x7be
push str.Main.c
push 0x12
push 4
push eax
mov edx, str.Mode
call fcn.004702c0
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x80]
push 0x7c0
push str.Main.c
push 0x12
xorps xmm0, xmm0
mov edx, str.Desktop
push 0x28
push eax
movups xmmword [esp + 0x94], xmm0
movups xmmword [esp + 0xa4], xmm0
movq qword [esp + 0xb4], xmm0
call fcn.004702c0
add esp, 0x3c
lea eax, [esp + 0x58]
cmp byte [esp + 0x58], 0
mov dword [esp + 0x10], eax
jne 0x4546aa
xor eax, eax
jmp 0x4546c4
push 4
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x60]
push eax
push dword [0x591f38]
call fcn.0047f5b0
add esp, 0x10
xorps xmm0, xmm0
mov dword [ebx + 0xa4], eax
movups xmmword [esp + 0x20], xmm0
mov ecx, edi
lea edx, [esp + 0x20]
mov esi, 0xc
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454738
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4546e0
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0x28
push eax
mov eax, dword [0x59174c]
xorps xmm0, xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x48], xmm0
mov eax, dword [eax + 0x7cc]
push dword [eax + 4]
call dword [0x595e6c]
movups xmm0, xmmword [esp + 0x34]
movups xmmword [ebx + 0x8c], xmm0
jmp 0x454a4f
xorps xmm0, xmm0
mov dword [esp + 0x30], 0x28
push 0
push edi
movups xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x5c], 0
movups xmmword [esp + 0x4c], xmm0
call dword [0x595e20]
test eax, eax
jne 0x454886
lea eax, [esp + 0x30]
push eax
mov eax, dword [0x59174c]
mov eax, dword [eax + 0x7cc]
push dword [eax + 4]
call dword [0x595e6c]
xorps xmm0, xmm0
lea edx, [esp + 0x20]
movups xmmword [esp + 0x20], xmm0
mov ecx, edi
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4547ad
add ecx, 4
add edx, 4
sub esi, 4
jae 0x454792
push 0x7d5
jmp 0x4549d9
xorps xmm0, xmm0
lea ecx, [ebx + 0x8c]
movups xmmword [esp + 0x20], xmm0
lea edx, [esp + 0x20]
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4547df
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4547c4
push 0x7d5
jmp 0x4549d9
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
sub ecx, dword [edi]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
sub eax, ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x44]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
cmovg eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov dword [edi], eax
mov eax, esi
sub eax, dword [esp + 0x10]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jg 0x454836
mov eax, esi
sub eax, dword [esp + 0x10]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, str.Rect
add eax, dword [esp + 0x18]
cmp dword [esp + 0x4c], eax
push 0x7d2
cmovl eax, dword [esp + 0x50]
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x14]
push str.Main.c
push ecx
add eax, ecx
mov dword [ebx + 0x70], ecx
mov ecx, dword [esp + 0x18]
cmp esi, eax
push 0x10
cmovl eax, esi
push edi
push 3
mov dword [ebx + 0x78], eax
call fcn.00470010
add esp, 0x18
push 0x7d5
jmp 0x4549d9
lea ecx, [esp + 0x30]
push ecx
push eax
call dword [0x595e6c]
lea ecx, [esp + 0x34]
mov esi, 0xc
lea edx, [ebx + 0x8c]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4548b7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4548a1
jmp 0x454a03
xorps xmm0, xmm0
lea edx, [esp + 0x20]
movups xmmword [esp + 0x20], xmm0
mov ecx, edi
mov esi, 0xc
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4548e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4548d0
jmp 0x4549d4
xorps xmm0, xmm0
lea ecx, [ebx + 0x8c]
movups xmmword [esp + 0x20], xmm0
lea edx, [esp + 0x20]
mov esi, 0xc
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454916
add ecx, 4
add edx, 4
sub esi, 4
jae 0x454900
jmp 0x4549d4
movups xmm1, xmmword [ebx + 0x8c]
mov ecx, dword [esp + 0x48]
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
sub ecx, eax
movd eax, xmm1
push ecx
mov ecx, dword [esp + 0x48]
sub ecx, eax
push ecx
push edi
call dword [sym.imp.USER32.dll_OffsetRect]
mov esi, dword [ebx + 0x74]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
cmp esi, ecx
jle 0x454961
mov eax, dword [edi]
sub eax, esi
mov dword [ebx + 0x74], ecx
add eax, ecx
cmp edx, eax
cmovg eax, edx
mov dword [edi], eax
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
cmp dword [ebx + 0x78], esi
jle 0x454981
mov eax, dword [ebx + 0x70]
sub eax, dword [ebx + 0x78]
add eax, esi
mov dword [ebx + 0x78], esi
cmp ecx, eax
cmovg eax, ecx
mov dword [ebx + 0x70], eax
cmp dword [edi], edx
jge 0x45499a
mov eax, dword [ebx + 0x74]
sub eax, dword [edi]
add eax, edx
mov dword [edi], edx
cmp dword [esp + 0x4c], eax
cmovl eax, dword [esp + 0x4c]
mov dword [ebx + 0x74], eax
mov edx, dword [ebx + 0x70]
cmp edx, ecx
jge 0x4549b3
mov eax, dword [ebx + 0x78]
sub eax, edx
mov dword [ebx + 0x70], ecx
add eax, ecx
cmp esi, eax
cmovl eax, esi
mov dword [ebx + 0x78], eax
push 0x7ef
push str.Main.c
push ecx
mov ecx, dword [esp + 0x18]
mov edx, str.Rect
push 0x10
push edi
push 3
call fcn.00470010
add esp, 0x18
push 0x7f2
movups xmm0, xmmword [esp + 0x38]
push str.Main.c
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [ebx + 0x8c]
push 0x10
push eax
push 3
mov edx, str.MonitorRect
movups xmmword [eax], xmm0
call fcn.00470010
add esp, 0x18
lea ecx, [ebx + 0x7c]
mov esi, 0xc
lea edx, [esp + 0x34]
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x454a23
add ecx, 4
add edx, 4
sub esi, 4
jae 0x454a10
jmp 0x454a4f
movups xmm0, xmmword [esp + 0x34]
push 0x7f7
push str.Main.c
push ecx
mov ecx, dword [esp + 0x18]
lea eax, [ebx + 0x7c]
push 0x10
push eax
push 3
mov edx, str.RdpRect
movups xmmword [eax], xmm0
call fcn.00470010
add esp, 0x18
test byte [esp + 0x1c], 1
jne 0x454ae2
mov eax, dword [ebx + 0x9c]
test al, 4
jne 0x454aca
test al, 2
je 0x454a78
push 3
push dword [ebx + 0xac]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x454ae2
mov eax, dword [ebx + 0x74]
sub eax, dword [edi]
cmp eax, 0xa
jle 0x454ae2
mov eax, dword [ebx + 0x78]
sub eax, dword [ebx + 0x70]
cmp eax, 0xa
jle 0x454ae2
push 0
push 0xf120
push 0x112
push dword [ebx + 0xac]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x78]
mov edx, dword [edi]
sub eax, ecx
push 4
push eax
mov eax, dword [ebx + 0x74]
sub eax, edx
push eax
push ecx
push edx
push 0
push dword [ebx + 0xac]
call dword [0x595d70]
jmp 0x454ae2
push 0
push 0xf030
push 0x112
push dword [ebx + 0xac]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esp + 0xc], 0
je 0x454b00
lea eax, [esp + 0xc]
push eax
call fcn.0047e900
push dword [esp + 0x10]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret