Function at 0x44c520
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58933a
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
mov eax, dword [0x5e5c10]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xac], esi
push 0
push 0
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x20]
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.0045a9cf
mov dword [ebp - 0xa0], eax
test eax, eax
jne 0x44c59f
mov edi, dword [sym.imp.GDI32.dll_GetStockObject]
push 0x11
call edi
test eax, eax
jne 0x44c593
push 0xc
call edi
test eax, eax
je 0x44c59f
push eax
call fcn.0045a9cf
mov dword [ebp - 0xa0], eax
lea eax, [esi + 0xb8]
push eax
mov dword [ebp - 0xa4], eax
call fcn.0043d5e0
mov eax, dword [ebp + 0xc]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xf0], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea esi, [ebp - 0xcc]
call fcn.00450500
mov byte [ebp - 4], 2
mov byte [ebp - 0xbc], 1
call fcn.00456e5c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44c5fe
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x90], eax
lea ecx, [ebp - 0xcc]
push ecx
lea esi, [ebp - 0x90]
mov byte [ebp - 4], 3
call fcn.00450630
lea edx, [ebp - 0xb0]
push edx
mov ecx, esi
call fcn.00450740
lea eax, [ebp - 0x94]
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.004508f0
mov edi, esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 5
call fcn.00450a50
mov byte [ebp - 4], 6
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
call esi
push 0x20
mov edi, eax
call esi
push 0x21
mov ebx, eax
call esi
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
mov esi, eax
call fcn.00450f00
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push 1
add edx, esi
mov esi, dword [ebp - 0xac]
add edx, edi
push edx
add eax, ebx
push eax
push 0
push 0
mov ecx, esi
call fcn.00457ef8
lea edi, [esi + 0x120bc]
lea ecx, [ebp - 0x90]
call fcn.004512f0
lea ecx, [ebp - 0x90]
push ecx
push edi
call fcn.00454be0
cmp byte [esi + 0x120de], 0
je 0x44c6d5
call fcn.0040d140
mov edx, dword [ebp - 0x9c]
push edx
mov ecx, esi
call fcn.00457e6d
call fcn.0043e7f0
mov edi, dword [edi]
push 1
push edi
mov ecx, esi
call fcn.004589da
lea eax, [ebp - 0xcc]
push eax
lea esi, [ebp - 0x90]
call fcn.00450630
lea ecx, [ebp - 0xec]
push ecx
mov ecx, esi
call fcn.00450740
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 7
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xec]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44c74a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xb0]
mov ecx, 0x5b83f8
mov eax, esi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44c786
test dx, dx
je 0x44c782
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44c786
add eax, 4
add ecx, 4
test dx, dx
jne 0x44c760
xor eax, eax
jmp 0x44c78b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x44faca
mov ecx, 0x5b840c
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44c7c6
test dx, dx
je 0x44c7c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44c7c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x44c7a0
xor eax, eax
jmp 0x44c7cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x44caba
lea ecx, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
mov byte [ebp - 4], 8
mov ecx, dword [eax]
mov esi, dword [ebp - 0x94]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x44c84b
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44c83b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44c83b
push eax
call fcn.0040c280
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44c830
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x94], ebx
jmp 0x44c84b
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.00401d10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44c871
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x184]
call fcn.00450a50
mov byte [ebp - 4], 9
mov ecx, dword [eax]
mov esi, dword [ebp - 0x9c]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x44c8e3
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44c8d3
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44c8d3
push eax
call fcn.0040c280
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44c8c8
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x9c], ebx
jmp 0x44c8e3
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x9c]
call fcn.00401d10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x184]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44c909
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xd4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x44c93d
push eax
call fcn.00436db0
mov edi, eax
jmp 0x44c93f
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov eax, dword [ebp - 0x9c]
mov edx, dword [edx + 0x160]
push 0x54004300
push eax
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44c978
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [edi + 0x20]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x94]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x44c9b3
cmp eax, dword [esi - 0x10]
jne 0x44c9b3
lea ebx, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x44c9eb
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x44fac0
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.005601aa
add esp, 0x10
lea eax, [ebx + 0x10]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0xb
mov esi, dword [edi + 0x78]
lea ebx, [eax - 0x10]
sub esi, 0x10
cmp ebx, esi
je 0x44ca54
cmp dword [esi + 0xc], 0
jl 0x44ca47
mov ecx, dword [ebx]
cmp ecx, dword [esi]
jne 0x44ca47
push ebx
call fcn.0040c280
mov dword [ebp - 0x98], eax
add esp, 4
lea eax, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x44ca39
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, dword [ebp - 0x98]
add eax, 0x10
mov dword [edi + 0x78], eax
jmp 0x44ca54
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [edi + 0x78]
call fcn.00401d10
mov byte [ebp - 4], 6
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44ca71
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
lea eax, [ebp - 0x90]
push eax
push 1
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 1
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
push 1
call fcn.0043d3b0
mov ebx, dword [ebp - 0xa4]
jmp 0x44fa0a
mov ecx, 0x5b8404
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44cae7
test dx, dx
je 0x44cae3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44cae7
add eax, 4
add ecx, 4
test dx, dx
jne 0x44cac1
xor eax, eax
jmp 0x44caec
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x44cce6
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
mov esi, dword [ebp - 0x94]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x44cb72
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44cb62
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44cb62
push eax
call fcn.0040c280
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44cb51
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x94], ebx
mov ebx, dword [ebp - 0xa4]
jmp 0x44cb72
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.00401d10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44cb98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x194]
call fcn.00450a50
mov byte [ebp - 4], 0xd
mov ecx, dword [eax]
mov esi, dword [ebp - 0x9c]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x44cc10
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44cc00
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44cc00
push eax
call fcn.0040c280
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44cbef
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0xa4]
jmp 0x44cc10
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x9c]
call fcn.00401d10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x194]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44cc36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xa4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x44cc6a
push eax
call fcn.0043b610
mov edi, eax
jmp 0x44cc6c
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov eax, dword [ebp - 0x9c]
mov edx, dword [edx + 0x160]
push 0x54000100
push eax
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44cca5
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [edi + 0x20]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x90]
push ecx
push 0
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0
jmp 0x44f9fd
mov ecx, 0x5b8414
mov eax, esi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44cd16
test dx, dx
je 0x44cd12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44cd16
add eax, 4
add ecx, 4
test dx, dx
jne 0x44ccf0
xor eax, eax
jmp 0x44cd1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x44d088
lea ecx, [ebp - 0x19c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xf
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x19c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44cd70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x1a4]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x10
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1a4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44cdb7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xb4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x44cdec
mov esi, eax
call fcn.00438390
mov edi, eax
jmp 0x44cdee
xor edi, edi
lea edx, [ebp - 0x90]
push edx
push 2
mov edx, edi
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 6
call fcn.00451640
cmp byte [edi + 0xa0], 0
je 0x44cef0
mov al, byte [edi + 0xa1]
test al, al
je 0x44cea4
cmp byte [edi + 0xa2], 0
jne 0x44ce5b
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x54801044
mov ecx, edi
call fcn.00462010
mov edx, dword [edi + 0x20]
push 1
push 1
push edx
call dword [sym.imp.USER32.dll_ShowScrollBar]
jmp 0x44cf0c
test al, al
je 0x44cea4
cmp byte [edi + 0xa2], 0
je 0x44cea0
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x548010c4
mov ecx, edi
call fcn.00462010
mov edx, dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_ShowScrollBar]
push 1
push 1
push edx
call esi
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
call esi
jmp 0x44cf0c
test al, al
jne 0x44ced9
cmp byte [edi + 0xa2], 0
je 0x44ced9
mov ecx, dword [ebp - 0xac]
push 0xffff
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x54801084
mov ecx, edi
call fcn.00462010
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_ShowScrollBar]
jmp 0x44cf0c
mov ecx, dword [ebp - 0xac]
push 0xffff
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x54801044
jmp 0x44cf05
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x54800080
mov ecx, edi
call fcn.00462010
cmp byte [edi + 0x9f], 0
jne 0x44cf25
push 0
push 0x8000000
push 0
mov ecx, edi
call fcn.00457e15
cmp byte [edi + 0x9e], 0
je 0x44cf41
mov edx, dword [edi + 0x20]
push 0
push 1
push 0xcf
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [edi + 0x9c], 0
je 0x44cf5d
mov eax, dword [edi + 0x20]
push 0
push 0x2a
push 0xcc
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [edi + 0x9d], 0
je 0x44cf76
push 0
push 0x2000
push 0
mov ecx, edi
call fcn.00457e15
mov eax, dword [edi + 0x84]
test eax, eax
je 0x44cf8a
mov esi, edi
mov dword [edi + 0x74], eax
call fcn.004387a0
mov eax, dword [edi + 0x88]
cmp eax, 0xffffff
je 0x44cfa1
mov esi, edi
mov dword [edi + 0x78], eax
call fcn.004387a0
mov ecx, dword [edi + 0x20]
push 0
push 0xffffffffffffffff
push 0xc5
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [edi + 0xa4]
cmp esi, 2
jbe 0x44cfc4
mov esi, 2
mov eax, dword [edi + 0x20]
test eax, eax
je 0x44cff9
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, esi
cmp eax, esi
je 0x44cff9
mov edx, dword [edi + 0xa4]
push 0
push esi
push edx
mov ecx, edi
call fcn.00457e15
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
lea eax, [edi + 0xac]
mov dword [edi + 0xa4], esi
test eax, eax
je 0x44d02c
cmp dword [eax + 4], 0
je 0x44d02c
test eax, eax
jne 0x44d01e
mov ecx, dword [edi + 0x20]
push 1
push eax
push 0x30
push ecx
jmp 0x44d042
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0x20]
push 1
push eax
push 0x30
push ecx
jmp 0x44d042
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44d039
mov eax, dword [eax + 4]
mov edx, dword [edi + 0x20]
push 1
push eax
push 0x30
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, edi
call fcn.00457e6d
lea ecx, [ebp - 0x90]
push ecx
push 2
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 2
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 2
jmp 0x44f9fd
mov ecx, 0x5b841c
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x44d0b6
test dx, dx
je 0x44d0b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x44d0b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x44d090
xor eax, eax
jmp 0x44d0bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x44d207
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x12
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1ac]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x44d110
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x1b4]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x13
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1b4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44d157
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x44d18b
push eax
call fcn.0043afe0
mov edi, eax
jmp 0x44d18d
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov eax, dword [ebp - 0x9c]
mov edx, dword [edx + 0x160]
push 0x54000009
push eax
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44d1c6
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [edi + 0x20]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x90]
push ecx
push 3
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 3
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 3
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push 0x5b8424
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d362
lea edx, [ebp - 0x158]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x15
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x158]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44d26b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x100]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x16
call fcn.0040c2f0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44d2b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x44d2e6
push eax
call fcn.00437ce0
mov edi, eax
jmp 0x44d2e8
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov eax, dword [ebp - 0x9c]
mov edx, dword [edx + 0x160]
push 0x54000003
push eax
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44d321
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [edi + 0x20]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x90]
push ecx
push 4
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 4
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 4
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push 0x5b8434
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d525
lea ecx, [ebp - 0xe0]
call fcn.004621d7
lea edx, [ebp - 0x188]
mov bl, 0x18
push edx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x19
call fcn.0040c2f0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x188]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44d3d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xe0]
push ecx
lea ebx, [ebp - 0x90]
call fcn.00456110
lea edx, [ebp - 0x20]
push edx
mov ecx, ebx
call fcn.00450f00
push 0x88
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x44d418
mov esi, eax
call fcn.00437e70
mov edi, eax
jmp 0x44d41a
xor edi, edi
lea eax, [ebp - 0x90]
push eax
push 5
mov edx, edi
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x18
call fcn.00451640
mov ecx, dword [ebp - 0xac]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
xor eax, eax
cmp byte [edi + 0x74], al
push 0xffff
setne al
push ecx
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
add eax, 0x54200042
push eax
call edx
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44d46b
mov eax, dword [eax + 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push eax
mov eax, dword [edi + 0x20]
push 0x30
push eax
call ebx
mov eax, dword [ebp - 0xd8]
xor esi, esi
test eax, eax
jle 0x44d4ba
test esi, esi
js 0x44fac5
cmp esi, eax
jge 0x44fac5
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + esi*4]
mov edx, dword [edi + 0x20]
push eax
push 0
push 0x143
push edx
call ebx
mov eax, dword [ebp - 0xd8]
inc esi
cmp esi, eax
jl 0x44d488
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x78]
test eax, eax
je 0x44d4cf
push 0
push ecx
push 0x14e
push eax
call ebx
cmp byte [edi + 0x75], 0
push 0
mov ecx, edi
je 0x44d4eb
push 0
push 0x8000000
call fcn.00457e15
mov byte [edi + 0x75], 1
jmp 0x44d4fb
push 0x8000000
push 0
call fcn.00457e15
mov byte [edi + 0x75], 0
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push 5
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 5
jmp 0x44d6b4
lea eax, [ebp - 0xb0]
push 0x5b843c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d6df
lea ecx, [ebp - 0xe0]
call fcn.004621d7
lea ecx, [ebp - 0x108]
push ecx
mov bl, 0x1b
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x1c
call fcn.0040c2f0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], bl
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x160]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x1d
call fcn.0040c2f0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.00415a10
lea edx, [ebp - 0xe0]
push edx
mov ebx, edi
call fcn.00456110
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00450f00
push 0x1f0
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x44d5ee
push eax
call fcn.00439f10
mov edi, eax
jmp 0x44d5f0
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [edi]
mov eax, dword [ebp - 0x9c]
mov edx, dword [edx + 0x160]
push 0x54800120
push eax
mov ecx, edi
call edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, edi
call fcn.00457e6d
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x44d637
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0x20]
push 1
push eax
push 0x30
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0xd8]
xor esi, esi
test eax, eax
jle 0x44d687
test esi, esi
js 0x44fac5
cmp esi, eax
jge 0x44fac5
mov edx, dword [ebp - 0xdc]
push 0xffffffffffffffff
lea eax, [edx + esi*4]
mov edx, dword [edi]
push 0
push eax
mov eax, dword [edx + 0x168]
mov ecx, edi
call eax
mov eax, dword [ebp - 0xd8]
inc esi
cmp esi, eax
jl 0x44d652
lea ecx, [ebp - 0x90]
push ecx
push 7
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 7
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 7
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
call fcn.0043d3b0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 6
call fcn.00462415
mov ebx, dword [ebp - 0xa4]
jmp 0x44fa0a
lea ecx, [ebp - 0xb0]
push 0x5b842c
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d822
lea edx, [ebp - 0x110]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x1f
call fcn.0040c2f0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 6
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x1a0]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x20
call fcn.0040c2f0
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00450f00
push 0xf8
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x44d78c
push eax
call fcn.00438b70
mov ebx, eax
jmp 0x44d78e
xor ebx, ebx
mov eax, dword [ebp - 0xac]
push 0
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebx]
mov edx, dword [edx + 0x54]
push 0x54000100
push eax
push 0
mov ecx, ebx
call edx
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebx]
mov edx, dword [eax + 0x180]
push ecx
mov ecx, ebx
call edx
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x8c]
push eax
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebx]
mov edx, dword [eax + 0x198]
sub esp, 0x5c
mov edi, esp
mov ecx, 0x17
lea esi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call edx
lea eax, [ebp - 0x90]
push eax
push 6
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 6
jmp 0x44e064
lea ecx, [ebp - 0xb0]
push 0x5b8444
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d8f5
lea edx, [ebp - 0x118]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x22
call fcn.0040c2f0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x7c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x23
test eax, eax
je 0x44d8a1
mov esi, eax
call fcn.0043ae30
mov edi, eax
jmp 0x44d8a3
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
lea ecx, [ebp - 0x20]
push ecx
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 8
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 8
jmp 0x44f9fd
lea edx, [ebp - 0xb0]
push 0x5b844c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44d9df
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x24
call fcn.0040c2f0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 6
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x25
test eax, eax
je 0x44d976
push eax
call fcn.0043b360
mov edi, eax
jmp 0x44d978
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
lea ecx, [ebp - 0x20]
push ecx
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xb
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xb
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0xb
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push 0x5b8454
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44dace
lea edx, [ebp - 0x120]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x26
call fcn.0040c2f0
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xbc
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x27
test eax, eax
je 0x44da60
push eax
call fcn.0043a7f0
mov edi, eax
jmp 0x44da62
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0x5400010e
push 0x5b8454
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xa
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xa
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0xa
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push str.OmFh
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44dbbe
lea edx, [ebp - 0x190]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x28
call fcn.0040c2f0
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xc8
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x29
test eax, eax
je 0x44db4f
push eax
call fcn.0043a340
mov edi, eax
jmp 0x44db51
xor edi, edi
mov ecx, dword [ebp - 0xac]
push 0xffff
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x14800080
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00462010
push 0
push 0
mov ecx, edi
call fcn.0046325f
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xc
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xc
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0xc
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push 0x5b8464
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44dcab
lea edx, [ebp - 0x128]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x2a
call fcn.0040c2f0
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x88
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x2b
test eax, eax
je 0x44dc3f
push eax
call fcn.0043caf0
mov edi, eax
jmp 0x44dc41
xor edi, edi
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
xor eax, eax
push 0xffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xac]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x54000900
push 0x5b8464
mov ecx, edi
call edx
lea eax, [ebp - 0x90]
push eax
push 0xe
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xe
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0xe
jmp 0x44f9fd
lea eax, [ebp - 0xb0]
push 0x5b846c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44ddb2
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x2c
call fcn.0040c2f0
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 6
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x94
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x2d
test eax, eax
je 0x44dd2c
push eax
call fcn.004399b0
mov edi, eax
jmp 0x44dd2e
xor edi, edi
mov ecx, dword [ebp - 0xac]
push 0xffff
push ecx
mov byte [ebp - 4], 6
mov eax, dword [edi]
mov eax, dword [eax + 0x160]
lea edx, [ebp - 0x20]
push edx
push 0x54000000
mov ecx, edi
call eax
mov ecx, dword [ebp - 0xa0]
push 1
push ecx
mov ecx, edi
call fcn.0040ba60
lea edx, [ebp - 0x90]
push edx
push 0xf
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
movzx eax, word [edi + 0x84]
movzx ecx, word [edi + 0x82]
push eax
push ecx
push edi
call fcn.0040b9b0
mov eax, edi
call fcn.00439bd0
push 0xf
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0xf
jmp 0x44f9fd
lea ecx, [ebp - 0xb0]
push str.OmhV
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44df0b
lea edx, [ebp - 0xf4]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x2e
call fcn.0040c2f0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
xor eax, eax
push 0xd8
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
call fcn.00456cca
mov esi, eax
add esp, 4
mov dword [ebp - 0x98], esi
mov byte [ebp - 4], 0x2f
test esi, esi
je 0x44de5a
mov ecx, esi
call fcn.0046ca3a
mov dword [esi], vtable.CMyDocument.0
jmp 0x44de5c
xor esi, esi
push 0xe900
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 6
push ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe0], 0x5b8be4
call fcn.00464153
mov edi, eax
test edi, edi
je 0x44de90
mov eax, dword [edi + 0x20]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x4000000
test edi, edi
jne 0x44dea6
xor ecx, ecx
jmp 0x44dea9
mov ecx, dword [edi + 0x20]
push eax
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 1
mov ecx, edi
call fcn.00457f38
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
push 1
sub edx, eax
push edx
mov edx, dword [ebp - 0x18]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, edi
call fcn.00457ef8
lea eax, [ebp - 0x90]
push eax
push 0x10
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0x10
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0x10
jmp 0x44f9fd
lea eax, [ebp - 0xb0]
push 0x5b847c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e082
lea ecx, [ebp - 0x1b0]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x30
call fcn.0040c2f0
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 6
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x51c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x31
test eax, eax
je 0x44df8c
push eax
call fcn.0041d6d0
mov ebx, eax
jmp 0x44df8e
xor ebx, ebx
mov eax, dword [ebp - 0xac]
push eax
lea ecx, [ebp - 0x20]
mov edx, ebx
mov byte [ebp - 4], 6
call fcn.0041e210
mov ecx, dword [ebp - 0xa0]
push 1
push ecx
mov ecx, ebx
call fcn.0040ba60
mov edx, dword [ebx + 0x1a4]
mov eax, dword [edx + 0x24]
lea ecx, [ebx + 0x1a4]
push 0xffffff
call eax
mov eax, ebx
call fcn.00425b90
push 0xf
mov dword [ebx + 0xdc], 0
call dword [sym.imp.USER32.dll_GetSysColor]
mov edi, eax
mov esi, ebx
call fcn.00407720
lea ecx, [ebp - 0x90]
push ecx
push 0x11
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.00451640
cmp dword [ebx + 0x158], 0
jne 0x44e04b
xor esi, esi
cmp dword [ebx + 0x160], esi
jle 0x44e04b
test esi, esi
js 0x44e042
cmp esi, dword [ebx + 0x160]
jge 0x44e042
cmp esi, dword [ebx + 0x178]
jge 0x44fac5
mov edx, dword [ebx + 0x174]
lea eax, [edx + esi*4]
mov ecx, ebx
mov dword [eax], 0x19
call fcn.00423f80
inc esi
cmp esi, dword [ebx + 0x160]
jl 0x44e014
push 0x11
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xcc]
push ecx
mov edi, ebx
call fcn.00454f20
push 0x11
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
mov edi, ebx
call fcn.0043d3b0
mov ebx, dword [ebp - 0xa4]
jmp 0x44fa0a
lea edx, [ebp - 0xb0]
push 0x5b8484
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f92f
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x32
call fcn.0040c2f0
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 6
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x94
call fcn.00456cca
add esp, 4
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x33
test eax, eax
je 0x44e109
push eax
call fcn.0043bdc0
mov edi, eax
mov dword [ebp - 0xa8], edi
jmp 0x44e119
mov dword [ebp - 0xa8], 0
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
lea ecx, [ebp - 0x20]
push ecx
push 0x14000200
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xd
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xd
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
mov esi, dword [ebp - 0x94]
push 0xd
mov eax, ebx
call fcn.0043d3b0
lea ecx, [ebp - 0x90]
push 0x5b848c
push ecx
mov dword [ebp - 0x98], 0
call fcn.0040b680
add esp, 8
test al, al
je 0x44f903
mov edi, edi
lea edx, [ebp - 0xcc]
push edx
lea esi, [ebp - 0x90]
call fcn.00450630
mov eax, esi
push 0x5b848c
push eax
call fcn.0040bae0
add esp, 8
test al, al
jne 0x44f903
lea ecx, [ebp - 0x178]
push ecx
mov ecx, esi
call fcn.00450740
lea ecx, [ebp - 0x178]
call fcn.00415a10
lea edx, [ebp - 0xec]
push edx
mov ecx, esi
call fcn.00450bf0
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0xec]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xb4], esp
mov esi, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ebx, edi
mov dword [esi], eax
call fcn.0043c0b0
lea ecx, [ebp - 0xe4]
call fcn.0040c220
lea ecx, [ebp - 0xe8]
call fcn.0040c220
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x36
call fcn.004549e0
test al, al
je 0x44e336
jmp 0x44e270
lea edx, [ebp - 0xe4]
push 0x5b8498
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e2be
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x98]
push eax
lea esi, [ecx + edx*4]
call fcn.00560668
mov ecx, dword [esi]
add esp, 4
push 1
push eax
mov dword [ecx + 0xb8], eax
call fcn.004589da
jmp 0x44e315
lea ecx, [ebp - 0xe4]
push 0x5b84a4
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e315
mov eax, dword [ebp - 0xe8]
push 1
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xb4], esp
mov esi, esp
push eax
call fcn.0040c280
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x98]
add eax, 0x10
mov dword [esi], eax
mov eax, dword [edx + 0x84]
mov edi, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
add esp, 4
call fcn.0043c980
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0x90]
call fcn.004549e0
test al, al
jne 0x44e270
lea ecx, [ebp - 0x90]
push 0x5b84b0
push ecx
mov byte [ebp - 0xbc], 1
call fcn.0040b680
add esp, 8
test al, al
je 0x44f8b6
lea esp, [esp]
lea edx, [ebp - 0xcc]
push edx
lea esi, [ebp - 0x90]
call fcn.00450630
mov eax, esi
push 0x5b84b0
push eax
call fcn.0040bae0
add esp, 8
test al, al
jne 0x44f8b6
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, esi
call fcn.00450740
lea edx, [ebp - 0xb8]
push 0x5b8404
push edx
mov byte [ebp - 4], 0x37
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e4c0
lea eax, [ebp - 0x140]
push eax
mov ecx, esi
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x38
call fcn.0040c2f0
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x37
call fcn.00415a10
mov edi, esi
lea ecx, [ebp - 0x198]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x39
call fcn.0040c2f0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
mov ecx, esi
call fcn.00450f00
push 0xa4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x3a
test eax, eax
je 0x44e441
push eax
call fcn.0043b610
mov edi, eax
jmp 0x44e443
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0xffff
push ecx
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x20]
push eax
push 0x54000100
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0
jmp 0x44f87a
lea ecx, [ebp - 0xb8]
push 0x5b840c
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e613
lea edx, [ebp - 0x148]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x3b
call fcn.0040c2f0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x180]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x3c
call fcn.0040c2f0
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00450f00
push 0xd4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x44e56d
push eax
call fcn.00436db0
mov edi, eax
jmp 0x44e56f
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0xffff
push ecx
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x20]
push eax
push 0x54004300
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
mov esi, dword [ebp - 0x94]
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0xb4], esp
mov ebx, esp
push eax
call fcn.0040c280
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [ebx], eax
call fcn.00407640
lea ecx, [ebp - 0x90]
push ecx
push 1
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 1
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 1
jmp 0x44f880
lea ecx, [ebp - 0xb8]
push 0x5b8414
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44e919
lea edx, [ebp - 0x150]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x3e
call fcn.0040c2f0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x1a8]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x3f
call fcn.0040c2f0
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00450f00
push 0xb4
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x40
test eax, eax
je 0x44e6c1
mov esi, eax
call fcn.00438390
mov edi, eax
jmp 0x44e6c3
xor edi, edi
lea ecx, [ebp - 0x90]
push ecx
push 2
mov edx, edi
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x37
call fcn.00451640
cmp byte [edi + 0xa0], 0
je 0x44e804
mov al, byte [edi + 0xa1]
test al, al
je 0x44e79a
cmp byte [edi + 0xa2], 0
jne 0x44e73f
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + ecx*4]
push 0xffff
push edx
lea eax, [ebp - 0x20]
push eax
push 0x54801044
mov ecx, edi
call fcn.00462010
mov ecx, dword [edi + 0x20]
push 1
push 1
push ecx
call dword [sym.imp.USER32.dll_ShowScrollBar]
jmp 0x44e82f
test al, al
je 0x44e79a
cmp byte [edi + 0xa2], 0
je 0x44e796
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + ecx*4]
push 0xffff
push edx
lea eax, [ebp - 0x20]
push eax
push 0x548010c4
mov ecx, edi
call fcn.00462010
mov ecx, dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_ShowScrollBar]
push 1
push 1
push ecx
call esi
mov edx, dword [edi + 0x20]
push 1
push 0
push edx
call esi
jmp 0x44e82f
test al, al
jne 0x44e7de
cmp byte [edi + 0xa2], 0
je 0x44e7de
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + edx*4]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x54801084
mov ecx, edi
call fcn.00462010
mov edx, dword [edi + 0x20]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_ShowScrollBar]
jmp 0x44e82f
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + edx*4]
push 0xffff
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x54801044
jmp 0x44e828
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + ecx*4]
push 0xffff
push edx
lea eax, [ebp - 0x20]
push eax
push 0x54800080
mov ecx, edi
call fcn.00462010
cmp byte [edi + 0x9f], 0
jne 0x44e848
push 0
push 0x8000000
push 0
mov ecx, edi
call fcn.00457e15
cmp byte [edi + 0x9e], 0
je 0x44e858
mov eax, edi
call fcn.0040ba20
cmp byte [edi + 0x9c], 0
je 0x44e868
mov eax, edi
call fcn.0040ba00
cmp byte [edi + 0x9d], 0
je 0x44e881
push 0
push 0x2000
push 0
mov ecx, edi
call fcn.00457e15
mov eax, dword [edi + 0x84]
test eax, eax
je 0x44e895
mov esi, edi
mov dword [edi + 0x74], eax
call fcn.004387a0
mov eax, dword [edi + 0x88]
cmp eax, 0xffffff
je 0x44e8ac
mov esi, edi
mov dword [edi + 0x78], eax
call fcn.004387a0
mov eax, dword [edi + 0xa4]
call fcn.004076b0
lea eax, [edi + 0xac]
test eax, eax
je 0x44e8cc
cmp dword [eax + 4], 0
je 0x44e8cc
push 1
push eax
jmp 0x44e8d5
mov ecx, dword [ebp - 0xa0]
push 1
push ecx
mov ecx, edi
call fcn.0040ba60
mov edx, dword [ebp - 0x9c]
push edx
mov ecx, edi
call fcn.00457e6d
mov eax, dword [edi + 0x20]
push 0
push 0xffffffffffffffff
push 0xc5
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 2
jmp 0x44f87a
lea eax, [ebp - 0xb8]
push 0x5b841c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44ea45
lea ecx, [ebp - 0xf8]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x41
call fcn.0040c2f0
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0xfc]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x42
call fcn.0040c2f0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
mov ecx, edi
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x43
test eax, eax
je 0x44e9c6
push eax
call fcn.0043afe0
mov edi, eax
jmp 0x44e9c8
xor edi, edi
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [edx + ecx*4]
mov eax, dword [edi]
mov eax, dword [eax + 0x160]
push 0xfffc
push edx
mov edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x20]
push ecx
push 0x54000009
push edx
mov ecx, edi
call eax
mov ecx, dword [ebp - 0xa0]
push 1
push ecx
mov ecx, edi
call fcn.0040ba60
lea edx, [ebp - 0x90]
push edx
push 3
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 3
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xcc]
push ecx
call fcn.00454f20
push 3
jmp 0x44f87a
lea edx, [ebp - 0xb8]
push 0x5b8424
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44eb71
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x44
call fcn.0040c2f0
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x10c]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x45
call fcn.0040c2f0
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x46
test eax, eax
je 0x44eaf2
push eax
call fcn.00437ce0
mov edi, eax
jmp 0x44eaf4
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0xfffd
push ecx
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x20]
push eax
push 0x54000003
push ecx
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 4
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 4
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 4
jmp 0x44f87a
lea ecx, [ebp - 0xb8]
push 0x5b842c
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44ecc5
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x47
call fcn.0040c2f0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x11c]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x48
call fcn.0040c2f0
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00450f00
push 0xf8
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x49
test eax, eax
je 0x44ec1e
push eax
call fcn.00438b70
mov ebx, eax
jmp 0x44ec20
xor ebx, ebx
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ebx]
mov edx, dword [edx + 0x54]
push 0
push 0xffff
push ecx
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x20]
push eax
push 0x54000000
push ecx
push 0
mov ecx, ebx
call edx
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebx]
mov edx, dword [eax + 0x180]
push ecx
mov ecx, ebx
call edx
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x8c]
push eax
push 0x5c
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebx]
mov edx, dword [eax + 0x198]
sub esp, 0x5c
mov edi, esp
mov ecx, 0x17
lea esi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call edx
lea eax, [ebp - 0x90]
push eax
push 6
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 6
mov edi, ebx
jmp 0x44f87a
lea ecx, [ebp - 0xb8]
push 0x5b8434
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44ee31
lea ecx, [ebp - 0xe0]
call fcn.004621d7
lea edx, [ebp - 0x124]
mov bl, 0x4a
push edx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x4b
call fcn.0040c2f0
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], bl
call fcn.00415a10
lea eax, [ebp - 0xe0]
push eax
lea ebx, [ebp - 0x90]
call fcn.00456110
lea ecx, [ebp - 0x20]
push ecx
mov ecx, ebx
call fcn.00450f00
push 0x88
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x4c
test eax, eax
je 0x44ed64
mov esi, eax
call fcn.00437e70
mov edi, eax
jmp 0x44ed66
xor edi, edi
lea edx, [ebp - 0x90]
push edx
push 5
mov edx, edi
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x4a
call fcn.00451640
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 0x84]
mov esi, dword [ebp - 0x98]
mov ecx, dword [ecx + esi*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
xor eax, eax
cmp byte [edi + 0x74], al
push 0xffff
setne al
push ecx
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
add eax, 0x54200042
push eax
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
mov eax, dword [ebp - 0xd8]
xor esi, esi
test eax, eax
jle 0x44ee01
test esi, esi
js 0x44fac5
cmp esi, eax
jge 0x44fac5
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + esi*4]
push eax
mov ecx, edi
call fcn.0040b9e0
mov eax, dword [ebp - 0xd8]
inc esi
cmp esi, eax
jl 0x44edd5
mov ecx, dword [edi + 0x78]
mov esi, edi
call fcn.00407700
movzx edx, byte [edi + 0x75]
push edx
call fcn.0043af40
push 5
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xcc]
push ecx
call fcn.00454f20
push 5
jmp 0x44efc3
lea edx, [ebp - 0xb8]
push 0x5b843c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44efe8
lea ecx, [ebp - 0xe0]
call fcn.004621d7
lea eax, [ebp - 0x12c]
mov bl, 0x4d
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x4e
call fcn.0040c2f0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], bl
call fcn.00415a10
lea edi, [ebp - 0x90]
lea ecx, [ebp - 0x134]
call fcn.00450a50
push eax
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x4f
call fcn.0040c2f0
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], bl
call fcn.00415a10
lea ecx, [ebp - 0xe0]
push ecx
mov ebx, edi
call fcn.00456110
lea edx, [ebp - 0x20]
push edx
mov ecx, edi
call fcn.00450f00
push 0x1f0
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x50
test eax, eax
je 0x44eefa
push eax
call fcn.00439f10
mov edi, eax
jmp 0x44eefc
xor edi, edi
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [edx + ecx*4]
mov eax, dword [edi]
mov eax, dword [eax + 0x160]
push 0xffff
push edx
mov edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x20]
push ecx
push 0x54800120
push edx
mov ecx, edi
call eax
mov ecx, dword [ebp - 0x9c]
push ecx
mov ecx, edi
call fcn.00457e6d
mov edx, dword [ebp - 0xa0]
push 1
push edx
mov ecx, edi
call fcn.0040ba60
mov eax, dword [ebp - 0xd8]
xor esi, esi
test eax, eax
jle 0x44ef96
test esi, esi
js 0x44fac5
cmp esi, eax
jge 0x44fac5
mov eax, dword [ebp - 0xdc]
mov edx, dword [edi]
push 0xffffffffffffffff
lea eax, [eax + esi*4]
push 0
push eax
mov eax, dword [edx + 0x168]
mov ecx, edi
call eax
mov eax, dword [ebp - 0xd8]
inc esi
cmp esi, eax
jl 0x44ef61
lea ecx, [ebp - 0x90]
push ecx
push 7
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 7
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 7
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
call fcn.0043d3b0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x37
call fcn.00462415
jmp 0x44f88b
lea ecx, [ebp - 0xb8]
push 0x5b8444
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f0ca
lea edx, [ebp - 0x13c]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x51
call fcn.0040c2f0
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x7c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x52
test eax, eax
je 0x44f067
mov esi, eax
call fcn.0043ae30
mov edi, eax
jmp 0x44f069
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0x10001
push ecx
lea eax, [ebp - 0x20]
push eax
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 8
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 8
jmp 0x44f87a
lea edx, [ebp - 0xb8]
push 0x5b844c
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f1c3
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x53
call fcn.0040c2f0
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x80
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x54
test eax, eax
je 0x44f14b
push eax
call fcn.0043b360
mov edi, eax
jmp 0x44f14d
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0x10003
push ecx
lea eax, [ebp - 0x20]
push eax
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xb
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xb
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xcc]
push eax
call fcn.00454f20
push 0xb
jmp 0x44f87a
lea ecx, [ebp - 0xb8]
push 0x5b8454
push ecx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f2b1
lea edx, [ebp - 0x14c]
push edx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x55
call fcn.0040c2f0
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xbc
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x56
test eax, eax
je 0x44f244
push eax
call fcn.0043a7f0
mov edi, eax
jmp 0x44f246
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0xffff
push ecx
lea eax, [ebp - 0x20]
push eax
push 0x5400010e
push 0x5b8454
mov ecx, edi
call edx
lea eax, [ebp - 0x90]
push eax
push 0xa
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xa
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0xa
jmp 0x44f87a
lea eax, [ebp - 0xb8]
push str.OmFh
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f3b0
lea ecx, [ebp - 0x154]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x57
call fcn.0040c2f0
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0xc8
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x58
test eax, eax
je 0x44f332
push eax
call fcn.0043a340
mov edi, eax
jmp 0x44f334
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + edx*4]
push 0x9ffcf
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x54800080
mov ecx, edi
call fcn.00462010
push 0
push 0
mov ecx, edi
call fcn.0046325f
mov edx, dword [ebp - 0xa0]
push 1
push edx
mov ecx, edi
call fcn.0040ba60
lea eax, [ebp - 0x90]
push eax
push 0xc
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0xc
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0xc
jmp 0x44f87a
lea eax, [ebp - 0xb8]
push 0x5b846c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f4c6
lea ecx, [ebp - 0x15c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x59
call fcn.0040c2f0
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x94
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x5a
test eax, eax
je 0x44f431
push eax
call fcn.004399b0
mov edi, eax
jmp 0x44f433
xor edi, edi
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x98]
mov edx, dword [edx + ecx*4]
mov eax, dword [edi]
push 0xffff
push edx
mov edx, dword [eax + 0x160]
lea ecx, [ebp - 0x20]
push ecx
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 0xf
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
movzx edx, word [edi + 0x84]
movzx eax, word [edi + 0x82]
push edx
push eax
push edi
call fcn.0040b9b0
mov eax, edi
call fcn.00439bd0
push 0xf
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0xf
jmp 0x44f87a
lea eax, [ebp - 0xb8]
push str.OmhV
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f630
lea ecx, [ebp - 0x164]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x5b
call fcn.0040c2f0
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
mov edx, dword [ebp - 0x98]
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov edi, dword [ecx + edx*4]
push 0xd8
call fcn.00456cca
mov esi, eax
add esp, 4
mov dword [ebp - 0xb4], esi
mov byte [ebp - 4], 0x5c
test esi, esi
je 0x44f583
mov ecx, esi
call fcn.0046ca3a
mov dword [esi], vtable.CMyDocument.0
jmp 0x44f585
xor esi, esi
push 0xe900
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x37
push eax
mov ecx, edi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe0], 0x5b8be4
call fcn.00464153
mov edi, eax
test edi, edi
je 0x44f5b5
mov eax, dword [edi + 0x20]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x4000000
test edi, edi
jne 0x44f5cb
xor ecx, ecx
jmp 0x44f5ce
mov ecx, dword [edi + 0x20]
push eax
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 1
mov ecx, edi
call fcn.00457f38
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
push 1
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x20]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, edi
call fcn.00457ef8
lea eax, [ebp - 0x90]
push eax
push 0x10
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 0x10
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.00454f20
push 0x10
jmp 0x44f87a
lea eax, [ebp - 0xb8]
push 0x5b847c
push eax
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f79d
lea ecx, [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x5d
call fcn.0040c2f0
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x51c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x5e
test eax, eax
je 0x44f6b1
push eax
call fcn.0041d6d0
mov ebx, eax
jmp 0x44f6b3
xor ebx, ebx
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + edx*4]
push eax
lea ecx, [ebp - 0x20]
mov edx, ebx
call fcn.0041e210
mov ecx, dword [ebp - 0xa0]
push 1
push ecx
mov ecx, ebx
call fcn.0040ba60
mov edx, dword [ebx + 0x1a4]
mov eax, dword [edx + 0x24]
lea ecx, [ebx + 0x1a4]
push 0xffffff
call eax
mov eax, ebx
call fcn.00425b90
push 0xf
mov dword [ebx + 0xdc], 0
call dword [sym.imp.USER32.dll_GetSysColor]
mov edi, eax
mov esi, ebx
call fcn.00407720
lea ecx, [ebp - 0x90]
push ecx
push 0x11
mov edx, ebx
lea ecx, [ebp - 0xcc]
call fcn.00451640
cmp dword [ebx + 0x158], 0
jne 0x44f77f
xor esi, esi
cmp dword [ebx + 0x160], esi
jle 0x44f77f
test esi, esi
js 0x44f776
cmp esi, dword [ebx + 0x160]
jge 0x44f776
cmp esi, dword [ebx + 0x178]
jge 0x44fac5
mov edx, dword [ebx + 0x174]
lea eax, [edx + esi*4]
mov ecx, ebx
mov dword [eax], 0x19
call fcn.00423f80
inc esi
cmp esi, dword [ebx + 0x160]
jl 0x44f748
push 0x11
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xcc]
push ecx
mov edi, ebx
call fcn.00454f20
push 0x11
jmp 0x44f87a
lea edx, [ebp - 0xb8]
push 0x5b84c0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44f88b
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x5f
call fcn.0040c2f0
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x37
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x7c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x60
test eax, eax
je 0x44f81c
mov esi, eax
call fcn.004381b0
mov edi, eax
jmp 0x44f81e
xor edi, edi
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x84]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
push 0xffff
push ecx
lea eax, [ebp - 0x20]
push eax
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 9
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 9
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
call fcn.0043d3b0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x36
call fcn.00415a10
lea edx, [ebp - 0x90]
push 0x5b84b0
push edx
call fcn.0040b680
add esp, 8
test al, al
jne 0x44e360
inc dword [ebp - 0x98]
lea ecx, [ebp - 0xe8]
call fcn.00415a10
lea ecx, [ebp - 0xe4]
call fcn.00415a10
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 6
call fcn.00415a10
lea eax, [ebp - 0x90]
push 0x5b848c
push eax
call fcn.0040b680
mov edi, dword [ebp - 0xa8]
add esp, 8
test al, al
jne 0x44e1b0
mov esi, edi
call fcn.0043c530
mov ecx, dword [edi + 0x20]
push 0
push 0
push 0x130c
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
call fcn.0043c450
mov ebx, dword [ebp - 0xa4]
jmp 0x44fa0a
lea edx, [ebp - 0xb0]
push 0x5b84c0
push edx
call fcn.0040bae0
add esp, 8
test al, al
je 0x44fa0a
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x90]
call fcn.004508f0
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x61
call fcn.0040c2f0
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 6
call fcn.00415a10
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x90]
call fcn.00450f00
push 0x7c
call fcn.00456cca
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x62
test eax, eax
je 0x44f9ae
mov esi, eax
call fcn.004381b0
mov edi, eax
jmp 0x44f9b0
xor edi, edi
mov eax, dword [ebp - 0xac]
push 0xffff
push eax
mov byte [ebp - 4], 6
mov edx, dword [edi]
mov edx, dword [edx + 0x160]
lea ecx, [ebp - 0x20]
push ecx
push 0x54000000
mov ecx, edi
call edx
mov eax, dword [ebp - 0xa0]
push 1
push eax
mov ecx, edi
call fcn.0040ba60
lea ecx, [ebp - 0x90]
push ecx
push 9
mov edx, edi
lea ecx, [ebp - 0xcc]
call fcn.00451640
push 9
mov esi, dword [ebp - 0x94]
mov eax, ebx
call fcn.0043d3b0
lea edx, [ebp - 0xcc]
push edx
lea esi, [ebp - 0x90]
call fcn.00450630
lea eax, [ebp - 0xf0]
push eax
mov ecx, esi
call fcn.00450740
mov byte [ebp - 4], 0x63
mov ecx, dword [eax]
mov esi, dword [ebp - 0xb0]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x44fa91
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x44fa81
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x44fa81
push eax
call fcn.0040c280
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x44fa70
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0xb0], ebx
mov ebx, dword [ebp - 0xa4]
jmp 0x44fa91
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0xb0]
call fcn.00401d10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xf0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44c750
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x44c750
call fcn.00415c30
call fcn.004572d6
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44faf0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fb16
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fb36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fb5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x44fb6f
push eax
call fcn.00456cf9
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fb92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fbb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055fd94
mov esp, ebp
pop ebp
ret 8