Function at 0x43f490
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x143c
call fcn.00481770
mov eax, dword [0x572c40]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, ecx
mov dword [ebp - 0x1434], 0
mov dword [ebp - 0x1428], edi
mov dword [ebp - 0x140c], 0
mov dword [ebp - 0x1420], 0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x1408], 0
mov dword [ebp - 0x1418], 0
test eax, eax
je 0x43f510
cmp eax, 1
je 0x43f510
cmp eax, 2
je 0x43f504
cmp eax, 3
je 0x43f504
mov dword [ebp - 0x1410], 2
jmp 0x43f51a
mov dword [ebp - 0x1410], 1
jmp 0x43f51a
mov dword [ebp - 0x1410], 0
cmp dword [edi + 0x7c], 0
jne 0x43f541
mov ax, word [ebp + 8]
mov word [edi + 0x14], ax
mov ax, word [ebp + 0xc]
mov word [edi + 0x16], ax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret 0xc
push esi
push 0
push 0x4d2
push 0xf
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [ebp + 0x10], 0
jne 0x43f587
lea edx, [edi + 0x38]
mov esi, 0xc
lea ecx, [edi + 0x28]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x43f587
add ecx, 4
add edx, 4
sub esi, 4
jae 0x43f564
pop esi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x28]
movd xmm1, dword [edi + 0x30]
cvtdq2pd xmm1, xmm1
push ebx
mov ebx, dword [edi + 0x2c]
mov ecx, dword [edi + 0x7c]
mov dword [ebp - 0x143c], eax
mov dword [ebp - 0x1424], ebx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
movd xmm1, dword [edi + 0x34]
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0x141c], eax
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1414], eax
mov eax, dword [edi + 0x80]
mov esi, dword [eax + ecx*4 - 4]
mov ecx, 0xb64288
movzx eax, word [esi + 0xc]
push eax
call fcn.0042b390
push dword [ebp - 0x1410]
mov edx, dword [esi]
mov ecx, esi
imul eax, eax, 0x11c
add eax, dword [0xb659e4]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x1410]
sub eax, 0
je 0x43fd85
sub eax, 1
je 0x43fa4e
sub eax, 1
jne 0x4400bd
push 0x1400
push eax
lea eax, [ebp - 0x1404]
push eax
call fcn.00483290
mov eax, dword [edi + 0x7c]
xor edx, edx
xor esi, esi
mov dword [ebp - 0x1410], edx
dec eax
mov dword [ebp - 0x1414], esi
add esp, 0xc
xor ebx, ebx
test eax, eax
jle 0x43f7d4
lea esi, [ebp - 0x1400]
nop dword [eax + eax]
mov eax, dword [edi + 0x80]
lea ecx, [ebx*4]
mov eax, dword [eax + ecx]
mov ecx, 0xb64288
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul edx, eax, 0x11c
add edx, dword [0xb659e4]
mov dword [ebp - 0x140c], edx
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1420], eax
test eax, 0x800000
jne 0x43f7bb
mov eax, dword [edi + 0x80]
push 2
push edx
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x141c], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x1434]
cmp ecx, eax
jle 0x43f6f2
test byte [ebp - 0x1420], 8
cmove eax, ecx
mov dword [ebp - 0x1434], eax
mov eax, dword [edi + 0x78]
mov edx, dword [ebp - 0x1410]
add eax, ecx
add edx, eax
xor ecx, ecx
cmp edx, dword [ebp + 8]
mov eax, 1
mov dword [ebp - 0x1410], edx
setg cl
cmp dword [esi + 4], 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0x1420]
and eax, 8
mov dword [ebp - 0x1408], eax
mov eax, 1
cmovne ecx, eax
mov eax, dword [ebp - 0x140c]
cmp word [eax + 2], 4
jne 0x43f75e
mov eax, dword [edi + 0x7c]
dec eax
cmp ebx, eax
je 0x43f759
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4 + 4]
mov eax, dword [eax + 0x20]
add eax, edx
cmp eax, dword [ebp + 8]
jle 0x43f75e
mov ecx, 1
xor eax, eax
test ebx, ebx
cmovne eax, ecx
test eax, eax
je 0x43f78e
mov eax, dword [ebp - 0x141c]
inc dword [ebp - 0x1414]
mov ecx, dword [eax + 0x20]
sub edx, ecx
lea eax, [ebx - 1]
mov dword [esi + 8], edx
mov dword [esi], eax
add esi, 0x14
mov dword [ebp - 0x1410], ecx
mov dword [esi - 4], ebx
mov eax, dword [ebp - 0x141c]
mov eax, dword [eax + 0x24]
cmp eax, dword [esi + 0xc]
jle 0x43f79f
mov dword [esi + 0xc], eax
test byte [ebp - 0x1420], 2
je 0x43f7ab
inc dword [esi + 4]
cmp dword [ebp - 0x1408], 0
je 0x43f7bb
mov dword [esi + 4], 0xffffffff
mov eax, dword [edi + 0x7c]
inc ebx
dec eax
cmp ebx, eax
jl 0x43f670
mov edx, dword [ebp - 0x1410]
mov esi, dword [ebp - 0x1414]
lea ecx, [esi + esi*4]
mov dword [ebp + ecx*4 - 0x13f8], edx
lea eax, [ebx - 1]
mov dword [ebp + ecx*4 - 0x1400], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x1434]
cmovl ecx, dword [ebp - 0x1434]
mov dword [ebp - 0x1420], ecx
xor ecx, ecx
test esi, esi
js 0x43fa35
inc esi
lea edx, [ebp - 0x13f4]
xor edi, edi
cmp dword [edx - 8], 0xffffffff
jne 0x43f81f
inc dword [ebp - 0x1418]
jmp 0x43f821
add edi, dword [edx]
cmp ecx, dword [edx - 4]
cmovl ecx, dword [edx - 4]
add edx, 0x14
sub esi, 1
jne 0x43f811
mov eax, dword [ebp - 0x1414]
lea esi, [ebp - 0x13fc]
mov ebx, dword [ebp - 0x142c]
inc eax
mov edx, dword [ebp - 0x1424]
mov dword [ebp - 0x141c], edi
mov dword [ebp - 0x140c], ecx
mov dword [ebp - 0x1408], esi
mov dword [ebp - 0x1414], eax
mov eax, dword [ebp - 0x143c]
mov edi, dword [esi - 4]
mov dword [ebp - 0x1410], eax
mov eax, dword [esi - 8]
cmp eax, edi
mov dword [ebp - 0x142c], edi
mov edi, dword [ebp - 0x1428]
mov dword [ebp - 0x1434], eax
jg 0x43f9ff
mov dword [ebp - 0x1430], eax
lea esi, [eax*4]
mov ecx, 0xb64288
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul eax, eax, 0x11c
add eax, dword [0xb659e4]
mov dword [ebp - 0x1438], eax
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x80]
mov ecx, dword [esi + eax]
test edx, 0x800000
je 0x43f8ee
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x140c]
jmp 0x43f9da
mov eax, dword [ebp - 0x1408]
mov esi, dword [ecx + 0x20]
mov ebx, dword [eax + 8]
test dl, 8
je 0x43f926
mov eax, dword [ebp - 0x1420]
cmp eax, esi
mov ebx, dword [ecx + 0x24]
cmovl eax, esi
mov esi, eax
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x141c]
cdq
idiv dword [ebp - 0x1418]
cmp eax, ebx
cmovge ebx, eax
jmp 0x43f94b
test dl, 2
je 0x43f94b
mov edx, dword [ebp - 0x1408]
mov eax, dword [ebp - 0x1420]
mov edi, dword [ebp - 0x1408]
sub eax, dword [edx + 4]
cdq
idiv dword [edi]
mov edi, dword [ebp - 0x1428]
add esi, eax
mov eax, dword [ebp - 0x1438]
cmp word [eax + 2], 4
jne 0x43f99b
mov eax, dword [ebp - 0x1430]
cmp dword [ebp - 0x1434], eax
jne 0x43f99b
mov ebx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x140c]
mov esi, dword [ebp - 0x1424]
push 0x44
push ebx
push eax
push esi
push dword [ebp - 0x1410]
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 0x140c]
add esi, ebx
mov dword [ebp - 0x1424], esi
jmp 0x43f9da
push 0x44
push ebx
push esi
push dword [ebp - 0x1424]
push dword [ebp - 0x1410]
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x78]
mov edx, dword [ebp - 0x1410]
add eax, esi
mov ecx, dword [ebp - 0x140c]
add edx, eax
cmp edx, ecx
mov dword [ebp - 0x1410], edx
cmovg ecx, edx
mov dword [ebp - 0x140c], ecx
mov eax, dword [ebp - 0x1434]
inc eax
mov dword [ebp - 0x1434], eax
cmp eax, dword [ebp - 0x142c]
jle 0x43f893
mov edx, dword [ebp - 0x1424]
mov esi, dword [ebp - 0x1408]
mov eax, dword [edi + 0x78]
add esi, 0x14
add eax, ebx
mov dword [ebp - 0x1408], esi
add edx, eax
sub dword [ebp - 0x1414], 1
mov dword [ebp - 0x1424], edx
jne 0x43f861
lea eax, [ecx + 2]
mov word [edi + 0x14], ax
lea eax, [edx + 3]
mov word [edi + 0x16], ax
jmp 0x4400bd
mov edx, dword [ebp - 0x1424]
lea eax, [ecx + 2]
mov word [edi + 0x14], ax
lea eax, [edx + 3]
mov word [edi + 0x16], ax
jmp 0x4400bd
xor eax, eax
xor esi, esi
mov word [edi + 0x18], ax
mov eax, dword [edi + 0x7c]
dec eax
mov dword [ebp - 0x1418], esi
test eax, eax
jle 0x43fb1c
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0xb64288
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul edx, eax, 0x11c
add edx, dword [0xb659e4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x142c], eax
test eax, 0x800000
jne 0x43fafd
mov eax, dword [edi + 0x80]
push 1
push edx
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [edi + 0x80]
mov ecx, dword [ebp - 0x142c]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 0x24]
mov eax, dword [edi + 0x78]
add eax, edx
add dword [ebp - 0x1420], eax
test cl, 2
lea eax, [ebx + 1]
cmove eax, ebx
mov ebx, eax
test ecx, 0x1000
jne 0x43faf0
add word [edi + 0x18], dx
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x5c], 1
mov eax, dword [edi + 0x7c]
inc esi
dec eax
cmp esi, eax
jl 0x43fa70
mov dword [ebp - 0x1408], ebx
mov ebx, dword [ebp - 0x1424]
mov dword [ebp - 0x1418], esi
add esi, 0xffffffff
js 0x4400bd
mov eax, dword [edi + 0x80]
mov ecx, dword [ebp - 0x1418]
mov eax, dword [eax + ecx*4]
movzx ecx, bx
mov ebx, dword [ebp - 0x1420]
mov byte [eax + 0x5c], 0
lea eax, [ebx + 2]
add eax, ecx
movzx edx, ax
mov ax, word [edi + 0x18]
add ax, 2
mov word [edi + 0x14], dx
add ax, cx
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1414]
mov word [edi + 0x1c], dx
cmp ebx, eax
jle 0x43fc2e
mov ebx, dword [ebp - 0x1418]
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4]
mov byte [eax + 0x5c], 1
mov edx, dword [edi + 0x80]
mov cx, word [edi + 0x18]
mov eax, dword [edx + ebx*4]
add cx, word [eax + 0x24]
mov word [edi + 0x18], cx
mov eax, dword [edx + ebx*4]
mov ebx, dword [ebp - 0x1420]
add ebx, dword [eax + 0x24]
mov eax, dword [ebp - 0x1414]
cmp ebx, eax
jle 0x43fc2e
test esi, esi
js 0x43fc2e
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0xb64288
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul ecx, eax, 0x11c
mov eax, dword [0xb659e4]
mov ecx, dword [ecx + eax + 0xc]
test ecx, 0x1000
je 0x43fc1f
test ecx, 0x800000
jne 0x43fc1f
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x5c], 0
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x24]
add eax, dword [edi + 0x78]
sub ebx, eax
test cl, 2
je 0x43fc1f
dec dword [ebp - 0x1408]
or eax, 0xffffffff
add esi, eax
mov eax, dword [ebp - 0x1414]
cmp ebx, eax
jg 0x43fbb0
mov ecx, dword [ebp - 0x1408]
test ecx, ecx
jle 0x43fc41
sub eax, ebx
cdq
idiv ecx
mov ecx, eax
jmp 0x43fc43
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmovns eax, ecx
xor ebx, ebx
mov dword [ebp - 0x1430], eax
xor eax, eax
mov dword [ebp - 0x1418], eax
cmp dword [edi + 0x7c], eax
jle 0x4400ae
lea esi, [eax*4]
mov dword [ebp - 0x1428], ebx
mov eax, dword [edi + 0x80]
mov ecx, 0xb64288
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
mov ecx, dword [edi + 0x80]
imul eax, eax, 0x11c
add eax, dword [0xb659e4]
mov dword [ebp - 0x1438], eax
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x142c], eax
test eax, 0x800000
je 0x43fcc3
mov eax, dword [ecx + esi]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x43fd6a
mov ecx, dword [ecx + esi]
cmp byte [ecx + 0x5c], 0
je 0x43fd3a
test al, 4
je 0x43fcdf
mov esi, dword [ebp - 0x141c]
mov eax, dword [edi + 0x28]
jmp 0x43fcf2
mov eax, dword [ebp - 0x141c]
mov esi, dword [ecx + 0x20]
sub eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x28]
test byte [ebp - 0x142c], 2
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x1428], edx
je 0x43fd10
add edx, dword [ebp - 0x1430]
mov dword [ebp - 0x1428], edx
push 0x44
push edx
push esi
mov esi, dword [ebp - 0x1424]
push esi
push eax
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x78]
add eax, dword [ebp - 0x1428]
add esi, eax
mov dword [ebp - 0x1424], esi
jmp 0x43fd6a
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x1438]
mov ecx, dword [edi + 0x98]
mov ax, word [edx]
mov word [ecx + ebx*2], ax
inc ebx
cmp ebx, 1
jne 0x43fd6a
cmp word [edx + 2], 4
cmove ebx, dword [ebp - 0x1428]
mov eax, dword [ebp - 0x1418]
inc eax
mov dword [ebp - 0x1418], eax
cmp eax, dword [edi + 0x7c]
jl 0x43fc63
jmp 0x4400ae
xor eax, eax
xor ebx, ebx
mov word [edi + 0x18], ax
mov eax, dword [edi + 0x7c]
dec eax
test eax, eax
jle 0x43fe54
nop dword [eax]
mov eax, dword [edi + 0x80]
lea esi, [ebx*4]
mov ecx, 0xb64288
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul edx, eax, 0x11c
add edx, dword [0xb659e4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x142c], eax
test eax, 0x800000
jne 0x43fe47
mov eax, dword [edi + 0x80]
push 0
push edx
mov ecx, dword [esi + eax]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [edi + 0x80]
mov edx, dword [ebp - 0x142c]
mov eax, dword [eax + esi]
mov ecx, dword [eax + 0x20]
mov eax, dword [edi + 0x78]
add eax, ecx
mov dword [ebp - 0x1430], ecx
mov ecx, dword [ebp - 0x1408]
add dword [ebp - 0x140c], eax
test dl, 2
lea eax, [ecx + 1]
cmove eax, ecx
mov dword [ebp - 0x1408], eax
test edx, 0x1000
jne 0x43fe3a
mov eax, dword [ebp - 0x1430]
add word [edi + 0x18], ax
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi]
mov byte [eax + 0x5c], 1
mov eax, dword [edi + 0x7c]
inc ebx
dec eax
cmp ebx, eax
jl 0x43fda0
lea esi, [ebx - 1]
test esi, esi
js 0x4400bd
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4]
mov byte [eax + 0x5c], 0
mov eax, dword [ebp - 0x143c]
movzx ecx, ax
mov eax, dword [ebp - 0x140c]
add eax, 2
add eax, ecx
movzx edx, ax
mov ax, word [edi + 0x18]
add ax, 2
mov word [edi + 0x14], dx
add ax, cx
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x141c]
mov word [edi + 0x1c], dx
cmp dword [ebp - 0x140c], eax
jle 0x43ff68
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4]
mov byte [eax + 0x5c], 1
mov edx, dword [edi + 0x80]
mov cx, word [edi + 0x18]
mov eax, dword [edx + ebx*4]
add cx, word [eax + 0x20]
mov word [edi + 0x18], cx
mov eax, dword [edx + ebx*4]
mov ebx, dword [ebp - 0x140c]
add ebx, dword [eax + 0x20]
mov eax, dword [ebp - 0x141c]
cmp ebx, eax
jle 0x43ff6e
test esi, esi
js 0x43ff6e
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0xb64288
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
imul ecx, eax, 0x11c
mov eax, dword [0xb659e4]
mov ecx, dword [ecx + eax + 0xc]
test ecx, 0x1000
je 0x43ff57
test ecx, 0x800000
jne 0x43ff57
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
mov byte [eax + 0x5c], 0
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x20]
add eax, dword [edi + 0x78]
sub ebx, eax
test cl, 2
je 0x43ff57
dec dword [ebp - 0x1408]
or eax, 0xffffffff
add esi, eax
mov eax, dword [ebp - 0x141c]
cmp ebx, eax
jg 0x43fee8
jmp 0x43ff6e
mov ebx, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x1408]
test ecx, ecx
jle 0x43ff81
sub eax, ebx
cdq
idiv ecx
mov ecx, eax
jmp 0x43ff83
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmovns eax, ecx
xor ebx, ebx
mov dword [ebp - 0x1430], eax
xor eax, eax
mov dword [ebp - 0x1428], eax
cmp dword [edi + 0x7c], eax
jle 0x4400ae
lea esi, [eax*4]
mov dword [ebp - 0x1418], ebx
mov eax, dword [edi + 0x80]
mov ecx, 0xb64288
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.0042b390
mov ecx, dword [edi + 0x80]
imul eax, eax, 0x11c
add eax, dword [0xb659e4]
mov dword [ebp - 0x1438], eax
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x142c], eax
test eax, 0x800000
je 0x440003
mov eax, dword [ecx + esi]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x440098
mov ecx, dword [ecx + esi]
cmp byte [ecx + 0x5c], 0
je 0x440068
test al, 4
je 0x44001f
mov edx, dword [ebp - 0x1414]
mov eax, dword [edi + 0x2c]
jmp 0x440033
mov eax, dword [ebp - 0x1414]
sub eax, dword [ecx + 0x24]
cdq
sub eax, edx
mov edx, dword [ecx + 0x24]
sar eax, 1
add eax, dword [edi + 0x2c]
test byte [ebp - 0x142c], 2
mov esi, dword [ecx + 0x20]
je 0x440045
add esi, dword [ebp - 0x1430]
push 0x44
push edx
push esi
push eax
push dword [ebp - 0x143c]
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x78]
add eax, esi
add dword [ebp - 0x143c], eax
jmp 0x440098
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x1438]
mov ecx, dword [edi + 0x98]
mov ax, word [edx]
mov word [ecx + ebx*2], ax
inc ebx
cmp ebx, 1
jne 0x440098
cmp word [edx + 2], 4
cmove ebx, dword [ebp - 0x1418]
mov eax, dword [ebp - 0x1428]
inc eax
mov dword [ebp - 0x1428], eax
cmp eax, dword [edi + 0x7c]
jl 0x43ffa3
mov eax, dword [edi + 0x98]
mov ecx, 0xffff
mov word [eax + ebx*2], cx
lea ecx, [edi + 0x28]
mov esi, 0xc
lea edx, [edi + 0x38]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4400ec
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4400c8
pop ebx
pop esi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret 0xc
movups xmm0, xmmword [edi + 0x28]
push 0
push 0
push dword [edi]
movups xmmword [edi + 0x38], xmm0
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [ebp - 4]
pop ebx
pop esi
xor ecx, ebp
pop edi
call fcn.00481761
mov esp, ebp
pop ebp
ret 0xc