Function at 0x543c78
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0x168
mov eax, 0x5b2b55
call fcn.0057f468
mov ebx, ecx
mov dword [ebp - 0x144], ebx
cmp dword [ebx + 8], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x14c], eax
je 0x5450cc
lea eax, [ebx + 0x11c]
push 0
mov ecx, eax
mov dword [ebp - 0x154], eax
call fcn.005491cd
mov esi, eax
test esi, esi
je 0x543d6c
lea eax, [ebx + 0xd4]
mov edi, eax
mov ecx, dword [ebp - 0x154]
push 0
call fcn.0054947b
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x543d0d
add ecx, 0x38
call fcn.00559c14
test al, al
je 0x543d0d
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.00559c28
mov ecx, edi
xor ebx, ebx
call fcn.004a1ff0
test eax, eax
jle 0x543d35
push ebx
mov ecx, edi
call fcn.00548df9
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, edi
inc ebx
call fcn.004a1ff0
cmp ebx, eax
jl 0x543d1a
mov ecx, esi
call fcn.00542357
push 0x120
push esi
call fcn.0057eb7e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x154]
push 0
call fcn.005491cd
mov esi, eax
test esi, esi
jne 0x543cdb
mov ebx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x138]
and dword [ebp - 0x134], 0
lea ecx, [ebx + 0xf8]
call fcn.004a1ff0
mov esi, dword [ebp + 8]
test eax, eax
jle 0x543ddb
mov ecx, dword [ebp - 0x134]
push ecx
lea ecx, [ebx + 0xf8]
mov byte [ebp - 0x13d], 0
call fcn.00548df9
lea ecx, [ebp - 0x13d]
push ecx
push edi
push dword [ebp - 0x12c]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx]
cmp byte [ebp - 0x13d], 0
jne 0x543e6c
inc dword [ebp - 0x134]
lea ecx, [ebx + 0xf8]
call fcn.004a1ff0
mov ecx, dword [ebp - 0x134]
cmp ecx, eax
jl 0x543d8b
mov eax, 0x113
cmp esi, eax
ja 0x5447d0
je 0x5446d7
cmp esi, 0x4e
ja 0x5444a1
je 0x544480
sub esi, 5
je 0x54440e
sub esi, 0xa
je 0x543ffd
sub esi, 1
je 0x543f6f
sub esi, 4
je 0x543f5f
sub esi, 0xc
je 0x543e7b
sub esi, 4
jne 0x54502e
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x543e3c
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x8c]
test eax, eax
jle 0x543e49
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x90]
test eax, eax
jle 0x543e56
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x54502e
mov dword [edi + 0x24], eax
jmp 0x54502e
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
mov al, 1
jmp 0x5450ce
xor eax, eax
inc eax
cmp di, ax
jne 0x54502e
cmp byte [ebx + 0xd1], 0
jne 0x5450ce
lea eax, [ebp - 0x150]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x150], xmm0
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x150]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x14c]
mov ecx, ebx
push dword [ebp - 0x150]
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x54502e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x14]
test al, 2
je 0x54502e
mov eax, dword [ebp - 0x12c]
xorps xmm0, xmm0
and dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x14c]
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x174], 0x17
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x164], eax
call fcn.00543c2c
mov word [ebp - 0x15e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16c], eax
lea ecx, [ebp - 0x174]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
xor eax, eax
inc eax
jmp 0x5450ce
mov ecx, dword [ebp - 0x14c]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x5450ce
mov eax, dword [ebx + 0x80]
xorps xmm0, xmm0
and dword [ebp - 0x14], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x30], xmm0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x543fb8
mov dword [ebp - 0x30], 0xa
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x543fd5
mov dword [ebp - 0x30], 0xe
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
push 0
mov ecx, ebx
call fcn.00545f85
push 4
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x54502e
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x54502e
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
push 0x40
push 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00583650
add esp, 0xc
lea eax, [ebp - 0x50]
xor esi, esi
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
inc eax
cmp dword [ebx + 0x6c], esi
je 0x544057
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x544054
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x54405b
xor eax, eax
inc eax
mov esi, eax
jmp 0x54405e
xor eax, eax
inc eax
cmp byte [ebx + 0xce], 0
je 0x54406f
push eax
mov ecx, ebx
call fcn.005462e2
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00543605
test al, al
push 1
pop eax
cmove esi, eax
test esi, esi
je 0x544096
mov ecx, ebx
call fcn.00542cdf
jmp 0x543e74
cmp byte [ebx + 0xcd], 0
je 0x5440d1
mov ecx, dword [ebx + 0x6c]
mov byte [ebx + 0xcd], 0
call fcn.0054dec5
test al, al
je 0x5440c6
cmp byte [ebx + 0x2f9], 0
je 0x5440c6
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
call fcn.0054561d
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
call fcn.0054666b
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0xcf], 0
je 0x54434b
mov ecx, dword [ebp - 0x48]
lea edi, [ebx + 0x10]
mov eax, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x50]
sub eax, dword [ebp - 0x4c]
cmp dword [edi], 0
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x144], eax
je 0x54411d
cmp dword [ebx + 0x1c], ecx
jne 0x54411d
cmp dword [ebx + 0x20], eax
jne 0x54411d
lea esi, [ebx + 0xc]
jmp 0x54414c
push edi
mov ecx, ebx
call fcn.0054561d
push edi
push dword [ebp - 0x144]
lea esi, [ebx + 0xc]
mov ecx, ebx
push dword [ebp - 0x134]
mov dword [ebp - 0x12c], esi
push dword [esi]
call fcn.00542c21
test al, al
je 0x54438c
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x154], esi
je 0x5441cc
lea ecx, [ebx + 0x274]
call fcn.00549393
test al, al
jne 0x5441cc
lea edx, [ebx + 0x24]
mov dword [ebp - 0x12c], esi
cmp dword [edx], 0
mov ecx, esi
je 0x54419c
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x30], eax
jne 0x54419c
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x12c], esi
cmp dword [ebx + 0x34], eax
je 0x5441cc
push edx
mov ecx, ebx
call fcn.0054561d
lea eax, [ebx + 0x24]
mov ecx, ebx
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x134]
push dword [esi]
call fcn.00542c21
test al, al
je 0x54438c
mov byte [ebx + 0x2f8], 1
push dword [edi]
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x138], eax
je 0x544206
movzx ecx, byte [ebx + 0x2f8]
lea eax, [ebx + 0x24]
push ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x64]
push ecx
push eax
push edi
mov ecx, ebx
call fcn.00542d29
mov byte [ebx + 0x2f8], 0
sub esp, 0x10
lea esi, [ebp - 0x64]
mov edi, esp
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x10]
push dword [esi]
call fcn.005452de
mov al, byte [ebx + 0x2f9]
test al, al
je 0x5442f7
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebx + 0x24]
push eax
push esi
call fcn.00542afc
mov al, byte [ebx + 0x2f9]
test al, al
je 0x5442f7
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [ebx + 0x270]
xor ecx, ecx
mov byte [ebp - 0x132], al
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x4c]
push 2
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x134]
push eax
push ecx
lea eax, [ebp - 0x148]
mov word [ebp - 0x134], cx
push eax
push dword [esi]
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x38]
mov byte [ebp - 0x131], 1
push eax
push dword [esi]
mov dword [ebp - 0x148], ecx
push dword [ebx + 8]
mov dword [ebp - 0x144], ecx
call dword [0x5e7b80]
test eax, eax
jne 0x5442ef
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x5442ef
call fcn.0054df20
mov dword [ebp - 0x12c], esi
jmp 0x54433a
mov eax, dword [ebp - 0x58]
lea esi, [ebx + 0xc]
sub eax, dword [ebp - 0x60]
push 0xcc0020
push dword [ebp - 0x60]
mov dword [ebp - 0x12c], esi
push dword [ebp - 0x64]
push dword [ebx + 0x10]
push eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x64]
push eax
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [esi]
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x54433a
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x54433a
call fcn.0054df20
push dword [ebp - 0x138]
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x54438c
lea eax, [ebx + 0xc]
push dword [eax]
mov dword [ebp - 0x12c], eax
call dword [sym.imp.GDI32.dll_SaveDC]
sub esp, 0x10
mov ecx, dword [ebp - 0x144]
mov edi, esp
lea esi, [ebp - 0x64]
mov ebx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x12c]
push dword [esi]
call fcn.005452de
push ebx
push dword [esi]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ebx, dword [ebp - 0x144]
cmp byte [ebx + 0x68], 0
je 0x5443e5
cmp byte [ebx + 0x2f9], 0
jne 0x5443e5
push dword [0x5e7b84]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [esi]
call edi
push 5
mov esi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
mov eax, dword [ebp - 0x12c]
push dword [eax]
call edi
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x12c]
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [eax]
call dword [sym.imp.GDI32.dll_Rectangle]
mov eax, dword [ebp - 0x12c]
push esi
push dword [eax]
call edi
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0xcd], 0
je 0x543e74
mov ecx, ebx
call fcn.005437b2
jmp 0x543e74
xor eax, eax
inc eax
cmp dword [ebp - 0x12c], eax
je 0x544473
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x544454
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0x16
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x544460
call fcn.0054df20
cmp byte [ebx + 0x2f9], 0
je 0x544470
mov ecx, ebx
call fcn.005437b2
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
jmp 0x5450cc
test edi, edi
je 0x543e74
push edi
push dword [ebp - 0x12c]
push 0x204e
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x543e6c
sub esi, 0x7b
je 0x544620
push 3
pop ecx
sub esi, ecx
je 0x544614
sub esi, 0x82
je 0x5445ac
sub esi, 1
je 0x544542
sub esi, 1
je 0x5444eb
sub esi, 0xf
jne 0x54502e
test edi, edi
je 0x54502e
push edi
push dword [ebp - 0x12c]
push 0x2111
push edi
jmp 0x544496
cmp dword [ebx + 0x70], 0
je 0x54502e
xor eax, eax
mov dword [ebp - 0x30], 5
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.00543c2c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
jmp 0x5447bc
cmp dword [ebx + 0x7c], 0
je 0x54502e
xor eax, eax
mov dword [ebp - 0x30], 4
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.00543c2c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x7c]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
and dword [ebx + 0x7c], 0
jmp 0x54502e
cmp dword [ebx + 0x70], 0
je 0x54502e
xor eax, eax
mov dword [ebp - 0x30], ecx
mov word [ebp - 0x12], ax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], ax
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x84]
movlpd qword [ebp - 0x2c], xmm0
movlpd qword [ebp - 0x1a], xmm0
mov dword [ebp - 0x20], eax
call fcn.00543c2c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
mov eax, dword [ebx + 0x70]
mov dword [ebx + 0x7c], eax
jmp 0x54502e
mov ecx, ebx
call fcn.005437b2
jmp 0x54502e
mov ecx, ebx
call fcn.0054560b
movsx eax, di
mov dword [ebp - 0x13c], eax
shr edi, 0x10
movsx eax, di
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x13c]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebx + 0x78]
mov eax, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
test ecx, ecx
jne 0x54468d
push edx
push eax
mov ecx, ebx
call fcn.00542e53
mov ecx, eax
mov dword [ebx + 0x78], ecx
test ecx, ecx
je 0x54502e
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x13c]
and dword [ebp - 0x28], 0
xor esi, esi
and dword [ebp - 0x18], esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], si
mov dword [ebp - 0x30], 0x11
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], edx
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x14], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
and dword [ebx + 0x78], esi
jmp 0x54502e
mov eax, dword [ebp - 0x12c]
mov ecx, 0x2000
movzx eax, ax
mov dword [ebp - 0x138], eax
cmp ax, cx
jne 0x54473d
cmp byte [ebx + 0x2f9], 0
je 0x54473d
lea esi, [ebx + 0x2fc]
push esi
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x54473d
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x54502e
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x54502e
push 1
push esi
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x54502e
lea esi, [ebx + 0xe0]
xor edi, edi
mov ecx, esi
call fcn.004a1ff0
test eax, eax
jle 0x54502e
push edi
mov ecx, esi
call fcn.00548df9
mov esi, eax
mov ecx, dword [esi + 8]
cmp ecx, dword [ebx + 8]
jne 0x54477a
mov eax, dword [ebp - 0x138]
movzx ecx, ax
cmp dword [esi + 0xc], ecx
jne 0x54477a
cmp byte [esi + 0x10], 0
je 0x544791
lea esi, [ebx + 0xe0]
inc edi
mov ecx, esi
call fcn.004a1ff0
cmp edi, eax
jl 0x544754
jmp 0x54502e
mov eax, dword [esi]
xorps xmm0, xmm0
and dword [ebp - 0x14], 0
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 4]
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x30], 0x18
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx]
lea edx, [ebp - 0x30]
push edx
call dword [eax + 0x10c]
jmp 0x54502e
mov eax, 0x204
cmp esi, eax
ja 0x544bc8
je 0x544b37
mov eax, esi
sub eax, 0x133
je 0x544b1c
sub eax, 5
je 0x544b1c
sub eax, 0xc8
je 0x5449c5
sub eax, 1
je 0x544921
sub eax, 1
je 0x5448bd
sub eax, 1
jne 0x54502e
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
movsx eax, di
mov ecx, ebx
shr edi, 0x10
movsx edi, di
push edi
push eax
mov dword [ebp - 0x138], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edi
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x54502e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x54502e
mov ecx, ebx
call fcn.00545d0e
and dword [ebp - 0x28], 0
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x18], xmm0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x30], 0x10
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
mov dword [ebx + 0x78], esi
jmp 0x54502e
mov ecx, ebx
call fcn.0054560b
mov eax, edi
movsx ecx, di
shr eax, 0x10
movsx edx, ax
mov eax, dword [ebx + 0x78]
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x84], edx
test eax, eax
je 0x54502e
and dword [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x12c]
mov word [ebp - 0x1c], si
mov dword [ebp - 0x30], 0xe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
and dword [ebx + 0x78], esi
jmp 0x5447bc
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x54502e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x54502e
mov dword [ebx + 0x78], esi
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.00545d0e
mov ecx, dword [ebp - 0x138]
xor eax, eax
and dword [ebp - 0x28], 0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x30], 0xd
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
jmp 0x544b0f
cmp byte [ebx + 0xd0], 0
jne 0x544a15
cmp dword [ebx + 0x38], 0
mov eax, dword [ebx + 8]
push 3
pop ecx
mov dword [ebp - 0x50], 0x10
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
jne 0x5449f0
mov dword [ebp - 0x44], 0x190
jmp 0x544a04
push 0
push ecx
push 0x415
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0xd0], 1
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x544a54
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x54502e
mov eax, dword [ebp - 0x138]
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x28], eax
mov eax, ecx
cmp esi, ecx
je 0x544ac4
test ecx, ecx
je 0x544ac4
mov dword [ebp - 0x30], 0xa
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x10c]
and dword [ebx + 0x74], 0
xor eax, eax
cmp dword [ebx + 0x38], eax
je 0x544ac4
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x74]
cmp esi, eax
je 0x544ae7
test esi, esi
je 0x544ae7
mov dword [ebp - 0x30], 0xb
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
mov dword [ebx + 0x74], esi
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x544afd
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], ecx
jmp 0x5447bf
test esi, esi
je 0x54502e
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], esi
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
jmp 0x5447c5
test edi, edi
je 0x54502e
push edi
push dword [ebp - 0x12c]
lea eax, [esi + 0x2000]
push eax
jmp 0x5444e8
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, edi
movsx ecx, di
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x138], ecx
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x144], eax
mov dword [ebx + 0x84], eax
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x54502e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x54502e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
mov ecx, ebx
call fcn.00545d0e
and dword [ebp - 0x28], 0
xor eax, eax
mov ecx, dword [ebp - 0x138]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
jmp 0x544897
sub esi, 0x20a
je 0x544f67
sub esi, 0x97
je 0x544de6
dec esi
sub esi, 1
je 0x544da7
sub esi, 0x75
je 0x544c40
sub esi, 0x7ce9
jne 0x54502e
lea esi, [ebx + 0x110]
xor edi, edi
mov ecx, esi
call fcn.004a1ff0
test eax, eax
jle 0x544c34
push edi
mov ecx, esi
call fcn.00548df9
test eax, eax
je 0x544c22
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, esi
inc edi
call fcn.004a1ff0
cmp edi, eax
jl 0x544c0e
mov ebx, dword [ebp - 0x144]
mov ecx, esi
call fcn.00548feb
jmp 0x54502e
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x54]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x543e74
cmp byte [ebx + 0xcd], al
je 0x544c8f
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0054666b
mov esi, dword [ebp - 0x12c]
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x34]
mov ecx, ebx
sub eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push esi
call fcn.00542c21
test al, al
je 0x544d8c
cmp byte [ebx + 0x2f9], 0
je 0x544cf1
lea ecx, [ebx + 0x274]
call fcn.00549393
test al, al
jne 0x544cf1
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push esi
call fcn.00542c21
test al, al
je 0x544d8c
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x2f9], 0
mov dword [ebp - 0x138], eax
je 0x544d1d
push 1
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00542d29
sub esp, 0x10
lea esi, [ebp - 0x40]
mov edi, esp
mov ecx, ebx
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005452de
cmp byte [ebx + 0x2f9], 0
je 0x544d50
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00542afc
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x12c]
push 0xcc0020
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x138]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0054561d
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
call fcn.0054561d
jmp 0x54502e
cmp dword [ebx + 0x38], 0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
je 0x544dc3
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call esi
cmp byte [ebx + 0xd0], 0
je 0x544dda
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 8]
call esi
mov byte [ebx + 0xd0], 0
jmp 0x54502e
movsx eax, di
mov ecx, ebx
shr edi, 0x10
movsx edi, di
push edi
push eax
mov byte [ebx + 0xd0], 0
mov dword [ebp - 0x138], eax
call fcn.00542e53
mov esi, eax
mov dword [ebp - 0x144], esi
test esi, esi
je 0x54502e
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x544e5a
mov ecx, dword [ebp - 0x138]
xorps xmm0, xmm0
and dword [ebp - 0x28], 0
and dword [ebp - 0x14], 0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], 0xc
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x10c]
cmp byte [ebx + 4], 0
je 0x54502e
mov eax, dword [esi]
lea ecx, [ebp - 0x128]
push ecx
mov ecx, esi
call dword [eax + 0x9c]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x128]
call fcn.00549393
test al, al
je 0x544e98
lea ecx, [ebp - 0x128]
call fcn.00537eb5
jmp 0x543e74
push 0x2c
lea edi, [ebx + 0x3c]
push 0
push edi
call fcn.00583650
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x128]
add esp, 0xc
mov dword [edi], 0x2c
mov dword [ebx + 0x40], 1
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov eax, dword [0x5e7b60]
mov dword [ebx + 0x5c], eax
call fcn.0048f4c0
mov dword [ebx + 0x60], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x30]
mov esi, eax
lea edi, [ebx + 0x4c]
xor ecx, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x38], ecx
jne 0x544f2a
push ecx
push dword [0x5e7b60]
mov eax, SysReAllocString
push ecx
push dword [ebx + 8]
push eax
push eax
push eax
push eax
push SysStringLen
push ecx
push 0x401df4
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea esi, [ebx + 0x3c]
mov dword [ebx + 0x38], eax
push esi
push 0
push 0x432
push eax
call edi
jmp 0x544f2d
lea esi, [ebx + 0x3c]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ecx]
call dword [eax + 0xa8]
push eax
push 0
push 0x418
push dword [ebx + 0x38]
call edi
push esi
push 0
push 0x436
push dword [ebx + 0x38]
call edi
push esi
push 1
push 0x411
push dword [ebx + 0x38]
call edi
jmp 0x544e88
movsx eax, di
mov dword [ebp - 0x13c], eax
mov eax, edi
shr eax, 0x10
cwde
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x13c]
push eax
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x13c]
push eax
mov dword [ebx + 0x80], ecx
push ecx
mov ecx, ebx
mov dword [ebx + 0x84], eax
call fcn.00542e53
mov esi, eax
test esi, esi
je 0x54502e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x54502e
mov eax, dword [ebp - 0x12c]
xorps xmm0, xmm0
shr eax, 0x10
movzx eax, ax
shr eax, 0xf
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x30], 0x12
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edi
call fcn.00543c2c
mov word [ebp - 0x1a], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x30]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10c]
movzx ecx, word [ebx + 0x84]
movzx eax, word [ebx + 0x80]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x200
push dword [ebx + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
lea edi, [ebx + 0x11c]
push 0
mov ecx, edi
call fcn.005491cd
mov esi, eax
test esi, esi
je 0x5450cc
add ebx, 0xd4
push 0
mov ecx, edi
call fcn.0054947b
mov ecx, dword [esi + 0x108]
test ecx, ecx
je 0x54507b
add ecx, 0x38
call fcn.00559c14
test al, al
je 0x54507b
mov ecx, dword [esi + 0x108]
push esi
add ecx, 0x38
call fcn.00559c28
mov ecx, ebx
xor edi, edi
call fcn.004a1ff0
test eax, eax
jle 0x5450a3
push edi
mov ecx, ebx
call fcn.00548df9
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.004a1ff0
cmp edi, eax
jl 0x545088
mov ecx, esi
call fcn.00542357
push 0x120
push esi
call fcn.0057eb7e
mov edi, dword [ebp - 0x154]
pop ecx
pop ecx
push 0
mov ecx, edi
call fcn.005491cd
mov esi, eax
test esi, esi
jne 0x54504d
xor al, al
call fcn.0057f423
ret 0x10