Function at 0x4391e0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x143c
call fcn.004dd690
mov eax, dword [0x60aca0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, ecx
mov dword [ebp - 0x1418], 0
xor ebx, ebx
mov dword [ebp - 0x142c], edi
mov dword [ebp - 0x1424], 0
mov dword [ebp - 0x140c], 0
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x141c], 0
mov dword [ebp - 0x1420], 0
mov dword [ebp - 0x1438], ebx
test eax, eax
je 0x439269
cmp eax, 1
je 0x439269
cmp eax, 2
je 0x43925d
cmp eax, 3
je 0x43925d
mov dword [ebp - 0x1408], 2
jmp 0x43926f
mov dword [ebp - 0x1408], 1
jmp 0x43926f
mov dword [ebp - 0x1408], ebx
cmp dword [edi + 0x7c], ebx
jne 0x439296
mov ax, word [ebp + 8]
mov word [edi + 0x14], ax
mov ax, word [ebp + 0xc]
mov word [edi + 0x16], ax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dcc5c
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], bl
lea ebx, [edi + 0x28]
jne 0x4392e4
mov ecx, ebx
lea edx, [edi + 0x38]
mov esi, 0xc
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4392e4
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4392c0
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dcc5c
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx]
movd xmm1, dword [edi + 0x30]
mov ebx, dword [edi + 0x2c]
cvtdq2pd xmm1, xmm1
mov ecx, dword [edi + 0x7c]
mov dword [ebp - 0x143c], eax
mov dword [ebp - 0x1428], 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 - 0x1414], eax
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1410], eax
mov eax, dword [edi + 0x80]
mov esi, dword [eax + ecx*4 - 4]
mov ecx, 0x6ef2f0
movzx eax, word [esi + 0xc]
push eax
call fcn.004280d0
push dword [ebp - 0x1408]
mov edx, dword [esi]
mov ecx, esi
imul eax, eax, 0x11c
add eax, dword [0x6f0a4c]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x1408]
sub eax, 0
je 0x439b40
sub eax, 1
je 0x4397c6
sub eax, 1
jne 0x439e66
push 0x1400
push eax
lea eax, [ebp - 0x1404]
push eax
call fcn.004def40
mov eax, dword [edi + 0x7c]
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x1408], esi
dec eax
mov dword [ebp - 0x1410], ecx
add esp, 0xc
xor edx, edx
test eax, eax
jle 0x439546
lea esi, [ebp - 0x1400]
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [edi + 0x80]
lea ecx, [ebx*4]
mov eax, dword [eax + ecx]
mov ecx, 0x6ef2f0
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
imul edx, eax, 0x11c
add edx, dword [0x6f0a4c]
mov dword [ebp - 0x1420], edx
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1414], eax
test eax, 0x800000
jne 0x43951b
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 - 0x140c], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x1418]
cmp ecx, eax
jle 0x439452
test byte [ebp - 0x1414], 8
cmove eax, ecx
mov dword [ebp - 0x1418], eax
mov eax, dword [edi + 0x78]
mov edx, dword [ebp - 0x1408]
add eax, ecx
add edx, eax
xor ecx, ecx
cmp edx, dword [ebp + 8]
mov eax, 1
mov dword [ebp - 0x1408], edx
setg cl
cmp dword [esi + 4], 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0x1414]
and eax, 8
mov dword [ebp - 0x141c], eax
mov eax, 1
cmovne ecx, eax
mov eax, dword [ebp - 0x1420]
cmp word [eax + 2], 4
jne 0x4394be
mov eax, dword [edi + 0x7c]
dec eax
cmp ebx, eax
je 0x4394b9
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 0x4394be
mov ecx, 1
xor eax, eax
test ebx, ebx
cmovne eax, ecx
test eax, eax
je 0x4394ee
mov eax, dword [ebp - 0x140c]
inc dword [ebp - 0x1410]
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 - 0x1408], ecx
mov dword [esi - 4], ebx
mov eax, dword [ebp - 0x140c]
mov eax, dword [eax + 0x24]
cmp eax, dword [esi + 0xc]
jle 0x4394ff
mov dword [esi + 0xc], eax
test byte [ebp - 0x1414], 2
je 0x43950b
inc dword [esi + 4]
cmp dword [ebp - 0x141c], 0
je 0x43951b
mov dword [esi + 4], 0xffffffff
mov eax, dword [edi + 0x7c]
inc ebx
dec eax
cmp ebx, eax
jl 0x4393d0
mov esi, dword [ebp - 0x1408]
mov ecx, dword [ebp - 0x1410]
mov dword [ebp - 0x1414], ebx
mov ebx, dword [ebp - 0x1428]
mov edx, dword [ebp - 0x1414]
lea ecx, [ecx + ecx*4]
mov dword [ebp + ecx*4 - 0x13f8], esi
lea eax, [edx - 1]
mov dword [ebp + ecx*4 - 0x1400], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x1418]
cmovl ecx, dword [ebp - 0x1418]
mov dword [ebp - 0x1414], ecx
mov ecx, dword [ebp - 0x1410]
test ecx, ecx
js 0x4397ad
lea esi, [ecx + 1]
xor ecx, ecx
lea eax, [ebp - 0x13f4]
mov dword [ebp - 0x1420], esi
xor edi, edi
cmp dword [eax - 8], 0xffffffff
mov edx, ecx
jne 0x4395a1
inc dword [ebp - 0x1438]
jmp 0x4395a3
add edi, dword [eax]
mov ecx, dword [eax - 4]
cmp edx, ecx
cmovge ecx, edx
add eax, 0x14
sub esi, 1
jne 0x439591
mov ebx, dword [ebp - 0x1430]
lea edx, [ebp - 0x1404]
mov dword [ebp - 0x1410], edi
mov edi, dword [ebp - 0x142c]
mov dword [ebp - 0x1424], ecx
mov ecx, dword [ebp - 0x1428]
mov dword [ebp - 0x140c], edx
nop dword [eax]
mov eax, dword [ebp - 0x143c]
mov esi, dword [edx + 4]
mov dword [ebp - 0x1408], eax
mov eax, dword [edx]
mov dword [ebp - 0x1418], eax
mov dword [ebp - 0x1434], eax
mov dword [ebp - 0x1430], esi
cmp eax, esi
jg 0x439788
nop dword [eax + eax]
lea esi, [eax*4]
mov ecx, 0x6ef2f0
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
imul eax, eax, 0x11c
add eax, dword [0x6f0a4c]
mov dword [ebp - 0x141c], eax
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x80]
mov ecx, dword [esi + eax]
test edx, 0x800000
je 0x439665
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x439763
mov eax, dword [ebp - 0x140c]
mov esi, dword [ecx + 0x20]
mov ebx, dword [eax + 0x10]
test dl, 8
je 0x4396b5
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x1410]
cdq
idiv dword [ebp - 0x1438]
cmp dword [ebp - 0x1414], esi
mov ebx, dword [ecx + 0x24]
cmovge esi, dword [ebp - 0x1414]
cmp eax, ebx
cmovge ebx, eax
mov eax, dword [ebp - 0x1438]
mov dword [ebp - 0x1438], eax
mov eax, dword [ebp - 0x1410]
mov dword [ebp - 0x1410], eax
jmp 0x4396db
test dl, 2
je 0x4396db
mov edx, dword [ebp - 0x140c]
mov eax, dword [ebp - 0x1414]
mov edi, dword [ebp - 0x140c]
sub eax, dword [edx + 0xc]
cdq
idiv dword [edi + 8]
mov edi, dword [ebp - 0x142c]
add esi, eax
mov eax, dword [ebp - 0x141c]
cmp word [eax + 2], 4
jne 0x439724
mov eax, dword [ebp - 0x1434]
cmp dword [ebp - 0x1418], eax
jne 0x439724
mov ebx, dword [ecx + 0x24]
mov esi, dword [ebp - 0x1428]
push 0x44
push ebx
push dword [ebp - 0x1424]
push esi
push dword [ebp - 0x1408]
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
add esi, ebx
mov dword [ebp - 0x1428], esi
jmp 0x439763
push 0x44
push ebx
push esi
push dword [ebp - 0x1428]
push dword [ebp - 0x1408]
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x78]
mov edx, dword [ebp - 0x1408]
add eax, esi
mov ecx, dword [ebp - 0x1424]
add edx, eax
cmp edx, ecx
mov dword [ebp - 0x1408], edx
cmovg ecx, edx
mov dword [ebp - 0x1424], ecx
mov eax, dword [ebp - 0x1418]
inc eax
mov dword [ebp - 0x1418], eax
cmp eax, dword [ebp - 0x1430]
jle 0x439610
mov ecx, dword [ebp - 0x1428]
mov edx, dword [ebp - 0x140c]
mov eax, dword [edi + 0x78]
add edx, 0x14
add eax, ebx
mov dword [ebp - 0x140c], edx
add ecx, eax
sub dword [ebp - 0x1420], 1
mov dword [ebp - 0x1428], ecx
jne 0x4395e0
mov ebx, ecx
mov eax, dword [ebp - 0x1424]
add eax, 2
mov word [edi + 0x14], ax
lea eax, [ebx + 3]
mov word [edi + 0x16], ax
jmp 0x439e66
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 0x43989c
xor ebx, ebx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0x6ef2f0
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
imul edx, eax, 0x11c
add edx, dword [0x6f0a4c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1430], eax
test eax, 0x800000
jne 0x43987d
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 - 0x1430]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 0x24]
mov eax, dword [edi + 0x78]
add eax, edx
add dword [ebp - 0x141c], eax
test cl, 2
lea eax, [ebx + 1]
cmove eax, ebx
mov ebx, eax
test ecx, 0x1000
jne 0x439870
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 0x4397f0
mov dword [ebp - 0x1420], ebx
mov ebx, dword [ebp - 0x1428]
mov dword [ebp - 0x1418], esi
add esi, 0xffffffff
js 0x439e66
mov eax, dword [edi + 0x80]
mov ecx, dword [ebp - 0x1418]
mov eax, dword [eax + ecx*4]
movzx ecx, bx
mov byte [eax + 0x5c], 0
mov eax, dword [ebp - 0x141c]
add eax, 2
add eax, ecx
movzx edx, ax
lea eax, [ecx + 2]
add word [edi + 0x18], ax
mov eax, dword [ebp - 0x1410]
mov word [edi + 0x14], dx
mov word [edi + 0x1c], dx
mov edx, dword [ebp - 0x141c]
cmp edx, eax
jle 0x4399cb
mov edx, dword [ebp - 0x1418]
mov eax, dword [edi + 0x80]
mov eax, dword [eax + edx*4]
mov byte [eax + 0x5c], 1
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx + edx*4]
mov ax, word [eax + 0x24]
add word [edi + 0x18], ax
mov eax, dword [ecx + edx*4]
mov edx, dword [ebp - 0x141c]
add edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x1410]
mov dword [ebp - 0x141c], edx
cmp edx, eax
jle 0x4399cb
mov ebx, dword [ebp - 0x1420]
test esi, esi
js 0x4399bf
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0x6ef2f0
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
mov edx, dword [ebp - 0x141c]
imul ecx, eax, 0x11c
mov eax, dword [0x6f0a4c]
mov ecx, dword [ecx + eax + 0xc]
test ecx, 0x1000
je 0x4399ac
test ecx, 0x800000
jne 0x4399ac
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 edx, eax
mov dword [ebp - 0x141c], edx
test cl, 2
je 0x4399ac
dec ebx
or eax, 0xffffffff
add esi, eax
mov eax, dword [ebp - 0x1410]
cmp edx, eax
jg 0x439936
mov dword [ebp - 0x1420], ebx
mov ebx, dword [ebp - 0x1428]
mov ecx, dword [ebp - 0x1420]
test ecx, ecx
jle 0x4399de
sub eax, edx
cdq
idiv ecx
mov ecx, eax
jmp 0x4399e0
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmovns eax, ecx
xor edx, edx
mov dword [ebp - 0x1434], eax
xor eax, eax
mov dword [ebp - 0x1424], edx
mov dword [ebp - 0x142c], eax
cmp dword [edi + 0x7c], eax
jle 0x439b2c
nop word [eax + eax]
lea esi, [eax*4]
mov dword [ebp - 0x1408], edx
mov eax, dword [edi + 0x80]
mov ecx, 0x6ef2f0
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
mov ecx, dword [edi + 0x80]
imul eax, eax, 0x11c
add eax, dword [0x6f0a4c]
mov dword [ebp - 0x1418], eax
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1430], eax
test eax, 0x800000
je 0x439a76
mov eax, dword [ecx + esi]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x1424]
jmp 0x439b16
mov ecx, dword [ecx + esi]
cmp byte [ecx + 0x5c], 0
je 0x439ad4
test al, 4
je 0x439a8e
mov edx, dword [ebp - 0x1414]
mov eax, dword [edi + 0x28]
jmp 0x439aa2
mov eax, dword [ebp - 0x1414]
sub eax, dword [ecx + 0x20]
cdq
sub eax, edx
mov edx, dword [ecx + 0x20]
sar eax, 1
add eax, dword [edi + 0x28]
test byte [ebp - 0x1430], 2
mov esi, dword [ecx + 0x24]
je 0x439ab4
add esi, dword [ebp - 0x1434]
push 0x44
push esi
push edx
push ebx
push eax
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x78]
mov edx, dword [ebp - 0x1424]
add eax, esi
add ebx, eax
jmp 0x439b16
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [ebp - 0x1418]
mov edx, dword [ebp - 0x1424]
mov ecx, dword [edi + 0x98]
mov ax, word [esi]
mov word [ecx + edx*2], ax
inc edx
mov dword [ebp - 0x1424], edx
cmp edx, 1
jne 0x439b16
cmp word [esi + 2], 4
cmove edx, dword [ebp - 0x1408]
mov dword [ebp - 0x1424], edx
mov eax, dword [ebp - 0x142c]
inc eax
mov dword [ebp - 0x142c], eax
cmp eax, dword [edi + 0x7c]
jl 0x439a10
mov eax, dword [edi + 0x98]
mov ecx, 0xffff
mov word [eax + edx*2], cx
jmp 0x439e66
xor eax, eax
xor ebx, ebx
mov word [edi + 0x18], ax
mov eax, dword [edi + 0x7c]
dec eax
test eax, eax
jle 0x439c10
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x80]
lea esi, [ebx*4]
mov ecx, 0x6ef2f0
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
imul edx, eax, 0x11c
add edx, dword [0x6f0a4c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1430], eax
test eax, 0x800000
jne 0x439c03
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 - 0x1430]
mov eax, dword [esi + eax]
mov ecx, dword [eax + 0x20]
mov eax, dword [edi + 0x78]
add eax, ecx
mov dword [ebp - 0x1434], ecx
mov ecx, dword [ebp - 0x1420]
add dword [ebp - 0x140c], eax
test dl, 2
lea eax, [ecx + 1]
cmove eax, ecx
mov dword [ebp - 0x1420], eax
test edx, 0x1000
jne 0x439bf6
mov eax, dword [ebp - 0x1434]
add word [edi + 0x18], ax
mov eax, dword [edi + 0x80]
mov eax, dword [esi + eax]
mov byte [eax + 0x5c], 1
mov eax, dword [edi + 0x7c]
inc ebx
dec eax
cmp ebx, eax
jl 0x439b60
lea esi, [ebx - 1]
test esi, esi
js 0x439e66
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
lea eax, [ecx + 2]
add word [edi + 0x18], ax
mov word [edi + 0x14], dx
mov word [edi + 0x1c], dx
mov edx, dword [ebp - 0x1414]
cmp dword [ebp - 0x140c], edx
jle 0x439d12
mov eax, dword [edi + 0x80]
mov eax, dword [eax + ebx*4]
mov byte [eax + 0x5c], 1
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx + ebx*4]
mov ax, word [eax + 0x20]
add word [edi + 0x18], ax
mov eax, dword [ecx + ebx*4]
mov ebx, dword [ebp - 0x140c]
add ebx, dword [eax + 0x20]
cmp ebx, edx
jle 0x439d18
test esi, esi
js 0x439d18
mov eax, dword [edi + 0x80]
lea ecx, [esi*4]
mov eax, dword [eax + ecx]
mov ecx, 0x6ef2f0
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
imul ecx, eax, 0x11c
mov eax, dword [0x6f0a4c]
mov ecx, dword [ecx + eax + 0xc]
test ecx, 0x1000
je 0x439d01
test ecx, 0x800000
jne 0x439d01
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 0x439d01
dec dword [ebp - 0x1420]
mov edx, dword [ebp - 0x1414]
or eax, 0xffffffff
add esi, eax
cmp ebx, edx
jg 0x439c92
jmp 0x439d18
mov ebx, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x1420]
test ecx, ecx
jle 0x439d2d
sub edx, ebx
mov eax, edx
cdq
idiv ecx
mov ecx, eax
jmp 0x439d2f
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmovns eax, ecx
xor ebx, ebx
mov dword [ebp - 0x1434], eax
xor eax, eax
mov dword [ebp - 0x142c], eax
cmp dword [edi + 0x7c], eax
jle 0x439e57
nop
lea esi, [eax*4]
mov dword [ebp - 0x1414], ebx
mov eax, dword [edi + 0x80]
mov ecx, 0x6ef2f0
mov eax, dword [eax + esi]
movzx eax, word [eax + 0xc]
push eax
call fcn.004280d0
mov ecx, dword [edi + 0x80]
imul eax, eax, 0x11c
add eax, dword [0x6f0a4c]
mov dword [ebp - 0x1418], eax
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1430], eax
test eax, 0x800000
je 0x439db0
mov eax, dword [ecx + esi]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x439e41
mov ecx, dword [ecx + esi]
cmp byte [ecx + 0x5c], 0
je 0x439e11
test al, 4
je 0x439dc8
mov edx, dword [ebp - 0x1410]
mov eax, dword [edi + 0x2c]
jmp 0x439ddc
mov eax, dword [ebp - 0x1410]
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 - 0x1430], 2
mov esi, dword [ecx + 0x20]
je 0x439dee
add esi, dword [ebp - 0x1434]
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 0x439e41
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x1418]
mov ecx, dword [edi + 0x98]
mov ax, word [edx]
mov word [ecx + ebx*2], ax
inc ebx
cmp ebx, 1
jne 0x439e41
cmp word [edx + 2], 4
cmove ebx, dword [ebp - 0x1414]
mov eax, dword [ebp - 0x142c]
inc eax
mov dword [ebp - 0x142c], eax
cmp eax, dword [edi + 0x7c]
jl 0x439d50
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 0x439e95
add ecx, 4
add edx, 4
sub esi, 4
jae 0x439e71
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004dcc5c
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 esi
pop edi
xor ecx, ebp
pop ebx
call fcn.004dcc5c
mov esp, ebp
pop ebp
ret 0xc