Function at 0x42abf5
Capabilities:
Get file system object information

Disassembly:
push 0x8b8
mov eax, 0x44d1d5
call fcn.0043dcde
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x844], esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x850], esi
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x7c4], ebx
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x7f4], edx
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 0x830], esi
test eax, eax
je 0x42d35f
test ecx, ecx
je 0x42d35f
push edx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x42d35f
mov eax, dword [ebp + 0x28]
shr eax, 0xa
not al
and al, 1
push 0xa
lea ecx, [ebp - 0x81c]
mov byte [ebp - 0x7be], al
call fcn.00411708
and dword [ebp - 4], 0
push 0xa
lea ecx, [ebp - 0x83c]
call fcn.00411708
push 0xa
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 1
call fcn.00411708
and dword [ebp - 0x50], 0
xor eax, eax
lea edi, [ebp - 0x4c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x50]
push eax
push ebx
mov byte [ebp - 4], 2
call dword [sym.imp.GDI32.dll_GetClipBox]
mov esi, dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
lea eax, [ebp - 0x50]
push eax
call esi
push dword [ebp - 0x7f4]
mov dword [ebp - 0x86c], eax
call esi
cmp byte [ebp - 0x7be], 0
mov dword [ebp - 0x8ac], eax
je 0x42acef
push 1
push eax
push ebx
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
mov ecx, dword [ebp - 0x7d4]
call fcn.00415983
mov ecx, dword [ebp - 0x7d4]
lea ebx, [eax + 0x90]
mov dword [ebp - 0x7fc], ebx
call fcn.00415983
push dword [eax]
mov esi, dword [ebp - 0x7c4]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 1
push esi
mov dword [ebp - 0x898], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [ebp + 0x18]
shr eax, 8
movzx eax, al
shl ecx, 8
or eax, ecx
mov ecx, dword [ebp + 0x18]
shr ecx, 0x10
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp - 0x7d4]
call fcn.0041595e
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [ebp + 0x28]
and eax, 0x20
push 0x64
mov dword [ebp - 0x824], eax
mov edi, 0x270f
pop esi
je 0x42ae3b
test byte [ebp + 0x28], 4
je 0x42ae3b
test dword [ebp + 0x28], 0x400
jne 0x42ae3b
mov ecx, dword [ebp + 0x28]
or ecx, 0x400
push ecx
xor eax, eax
lea ecx, [ebp - 0x820]
push ecx
push eax
push eax
push dword [ebp + 0x18]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x7bc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x820], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x7d4]
mov dword [ebp - 0x18], edi
push dword [ebp - 0x7c4]
mov dword [ebp - 0x14], esi
call fcn.0042abf5
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
sub eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
sar ebx, 1
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
lea eax, [ebx + ecx]
mov ecx, dword [ebp - 0x7f4]
mov ebx, dword [ebp - 0x7fc]
mov dword [ecx + 4], eax
sub eax, dword [ebp - 0x1c]
add esp, 0x24
add eax, dword [ebp - 0x14]
mov dword [ecx + 0xc], eax
cmp dword [ebp - 0x824], 0
je 0x42af53
test byte [ebp + 0x28], 1
je 0x42aee2
test dword [ebp + 0x28], 0x400
jne 0x42aee2
mov ecx, dword [ebp + 0x28]
or ecx, 0x400
push ecx
xor eax, eax
lea ecx, [ebp - 0x820]
push ecx
push eax
push eax
push dword [ebp + 0x18]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x7bc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x820], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x7d4]
mov dword [ebp - 0x18], edi
push dword [ebp - 0x7c4]
mov dword [ebp - 0x14], esi
call fcn.0042abf5
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
sub eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
sar ebx, 1
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
lea eax, [ebx + ecx]
mov ecx, dword [ebp - 0x7f4]
mov ebx, dword [ebp - 0x7fc]
mov dword [ecx], eax
sub eax, dword [ebp - 0x20]
add esp, 0x24
add eax, dword [ebp - 0x18]
mov dword [ecx + 8], eax
cmp dword [ebp - 0x824], 0
je 0x42af53
test byte [ebp + 0x28], 2
je 0x42af53
test dword [ebp + 0x28], 0x400
jne 0x42af53
mov ecx, dword [ebp + 0x28]
or ecx, 0x400
push ecx
xor eax, eax
lea ecx, [ebp - 0x820]
push ecx
push eax
push eax
push dword [ebp + 0x18]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x7bc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x820], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x7d4]
mov dword [ebp - 0x18], edi
push dword [ebp - 0x7c4]
mov dword [ebp - 0x14], esi
call fcn.0042abf5
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax + 8]
sub ecx, dword [ebp - 0x18]
add esp, 0x24
add ecx, dword [ebp - 0x20]
mov dword [eax], ecx
lea ecx, [ebp - 0x504]
mov byte [ebp - 0x7d9], 0
call fcn.00411906
mov ecx, dword [ebp - 0x7d4]
lea eax, [ebp - 0x8c4]
push eax
mov byte [ebp - 4], 3
call fcn.004151b3
mov eax, dword [ebp - 0x844]
mov edi, dword [ebp - 0x850]
xor esi, esi
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x830]
cmp esi, dword [eax]
jge 0x42afdf
push dword [ebp - 0x8c0]
push dword [ebp - 0x8c4]
push dword [ebp - 0x7d8]
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x42afc8
push edi
lea ecx, [ebp - 0x504]
call fcn.00411a92
mov byte [ebp - 0x7d9], 1
add dword [ebp - 0x7d8], 0x10
inc esi
add edi, 0x84
cmp byte [ebp - 0x7d9], 0
je 0x42af8f
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x7d0], ecx
xor edi, edi
lea ecx, [ebp - 0x80c]
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 0x7f8], edi
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
mov esi, eax
add esi, dword [ebx + 0x10]
xor eax, eax
add esi, dword [ebx]
mov dword [ebp - 0x828], edi
mov dword [ebp - 0x7f0], edi
mov dword [ebp - 0x84c], edi
lea edi, [ebp - 0x848]
stosd dword es:[edi], eax
xor edi, edi
push edi
lea ecx, [ebp - 0x878]
mov dword [ebp - 0x7e0], esi
mov byte [ebp - 0x7bf], al
mov byte [ebp - 0x7c6], al
mov byte [ebp - 0x7e1], al
mov byte [ebp - 0x7c5], al
mov dword [ebp - 0x840], edi
call fcn.00411708
push edi
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 4
call fcn.00411708
push edi
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 5
call fcn.00411708
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x820], eax
movzx eax, word [eax]
mov byte [ebp - 4], 6
mov byte [ebp - 0x80e], 0
mov byte [ebp - 0x80d], 0
mov byte [ebp - 0x7fd], 0
mov dword [ebp - 0x82c], edi
mov byte [ebp - 0x7bd], 0
cmp ax, di
je 0x42d26b
mov ecx, dword [ebp - 0x7f4]
mov edi, dword [ecx + 8]
mov ecx, dword [ebp - 0x7d0]
cmp ecx, edi
jge 0x42cd88
cmp ax, 0xa
je 0x42cd8e
cmp byte [ebp - 0x7bf], 0
jne 0x42cd88
cmp byte [ebp - 0x7c6], 0
jne 0x42ca4a
cmp ax, 0x3c
je 0x42b113
cmp ax, 0x7b
jne 0x42c4b8
mov ecx, dword [ebp - 0x7bc]
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0x61
jb 0x42c4b8
cmp edx, 0x7a
ja 0x42c4b8
mov edx, dword [ebp - 0x7bc]
movzx edx, word [edx + 4]
cmp edx, 0x20
je 0x42b14e
cmp edx, 0x3e
je 0x42b14e
cmp edx, 0x7d
jne 0x42c4b8
and dword [ebp - 0x7ec], 0
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
cmp eax, 0x70
jg 0x42c2bd
je 0x42c24a
sub eax, 0x61
je 0x42bfc6
dec eax
je 0x42bec8
dec eax
je 0x42be40
sub eax, 3
je 0x42bb47
sub eax, 3
je 0x42b1bc
sub eax, 5
jne 0x42c481
add ecx, 2
mov dword [ebp - 0x7bc], ecx
cmp dword [ebp - 0x824], eax
jne 0x42c481
mov byte [ebp - 0x7bf], 1
jmp 0x42c481
lea eax, [ecx - 2]
add ecx, 2
push 0xffffffffffffffff
mov dword [ebp - 0x7bc], ecx
push ecx
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x7ec], eax
call fcn.00411fe9
mov eax, dword [ebp - 0x7bc]
mov edi, dword [sym.imp.USER32.dll_CharNextW]
mov byte [ebp - 4], 9
movzx ecx, word [eax]
test cx, cx
je 0x42b205
cmp cx, 0x20
ja 0x42b205
push eax
call edi
mov dword [ebp - 0x7bc], eax
jmp 0x42b1ec
lea ecx, [ebp - 0x2f4]
call fcn.00411906
mov eax, dword [ebp - 0x7bc]
mov byte [ebp - 4], 0xa
jmp 0x42b257
cmp cx, 0x3e
je 0x42b25f
cmp cx, 0x7d
je 0x42b25f
cmp cx, 0x20
je 0x42b25f
push eax
call edi
mov esi, eax
jmp 0x42b24d
movzx ecx, word [eax]
add eax, 2
push ecx
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 0x7bc], eax
call fcn.00411afa
mov eax, dword [ebp - 0x7bc]
cmp eax, esi
jb 0x42b235
movzx ecx, word [eax]
test cx, cx
jne 0x42b21c
lea ecx, [ebp - 0x2f4]
call fcn.00411a59
test al, al
je 0x42b397
mov ecx, dword [ebp - 0x7d4]
and dword [ebp - 0x7ec], 0
call fcn.00415983
lea ecx, [ebp - 0x81c]
mov esi, eax
call fcn.00411c84
test eax, eax
jle 0x42b2af
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
mov esi, eax
cmp byte [esi + 0x8e], 0
jne 0x42b770
movzx eax, byte [esi + 0x8d]
push 1
push eax
movzx eax, byte [esi + 0x8c]
push eax
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415b27
test eax, eax
jne 0x42b318
movzx eax, byte [esi + 0x8d]
push 1
push eax
movzx eax, byte [esi + 0x8c]
push eax
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.004163fc
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415c7a
mov esi, eax
push esi
lea ecx, [ebp - 0x81c]
call fcn.0041179c
push dword [esi]
lea ebx, [esi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
cmp dword [ebp - 0x7e0], eax
jg 0x42b770
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
mov dword [ebp - 0x7e0], eax
jmp 0x42b770
mov eax, dword [ebp - 0x7bc]
jmp 0x42b3ae
cmp cx, 0x20
ja 0x42b3b6
push eax
call edi
mov dword [ebp - 0x7bc], eax
movzx ecx, word [eax]
test cx, cx
jne 0x42b39f
push 0xa
lea ecx, [ebp - 0x7bc]
push ecx
push eax
call fcn.0043cde2
add esp, 0xc
mov dword [ebp - 0x7e8], eax
test eax, eax
jg 0x42b3dc
mov dword [ebp - 0x7e8], 1
mov eax, dword [ebp - 0x7bc]
jmp 0x42b3f3
cmp cx, 0x20
ja 0x42b3fb
push eax
call edi
mov dword [ebp - 0x7bc], eax
movzx ecx, word [eax]
test cx, cx
jne 0x42b3e4
push 0xa
lea ecx, [ebp - 0x7bc]
push ecx
push eax
call fcn.0043cde2
add esp, 0xc
mov dword [ebp - 0x7fc], eax
test eax, eax
js 0x42b41f
cmp eax, dword [ebp - 0x7e8]
jl 0x42b426
and dword [ebp - 0x7fc], 0
push str.file
lea ecx, [ebp - 0x2f4]
call fcn.004118d8
push eax
call fcn.0043dd65
pop ecx
pop ecx
test eax, eax
jne 0x42b47e
push str.res
lea ecx, [ebp - 0x2f4]
call fcn.004118d8
push eax
call fcn.0043dd65
pop ecx
pop ecx
test eax, eax
jne 0x42b47e
push eax
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00418256
mov edi, eax
jmp 0x42b909
lea ecx, [ebp - 0xe4]
call fcn.00411906
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xb
call fcn.00411906
lea ecx, [ebp - 0x3fc]
mov byte [ebp - 4], 0xc
call fcn.004118d8
lea ecx, [ebp - 0x1ec]
mov esi, eax
call fcn.00411906
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xd
call fcn.00411906
cmp word [esi], 0
mov byte [ebp - 4], 0xe
je 0x42b642
mov edi, dword [sym.imp.USER32.dll_CharNextW]
lea ecx, [ebp - 0x1ec]
call fcn.00411a64
lea ecx, [ebp - 0x168]
call fcn.00411a64
jmp 0x42b4fa
cmp ax, 0x20
ja 0x42b537
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x42b4ef
jmp 0x42b537
cmp ax, 0x3d
je 0x42b54c
cmp ax, 0x20
jbe 0x42b54c
push esi
call edi
mov dword [ebp - 0x7d8], eax
cmp esi, eax
jae 0x42b537
movzx eax, word [esi]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00411afa
add esi, 2
cmp esi, dword [ebp - 0x7d8]
jb 0x42b51d
movzx eax, word [esi]
test ax, ax
jne 0x42b504
jmp 0x42b54c
cmp ax, 0x20
ja 0x42b554
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x42b541
mov ax, word [esi]
add esi, 2
cmp ax, 0x3d
jne 0x42b642
jmp 0x42b571
cmp ax, 0x20
ja 0x42b579
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x42b566
mov ax, word [esi]
add esi, 2
cmp ax, 0x27
jne 0x42b642
jmp 0x42b5b8
cmp ax, 0x27
je 0x42b5c0
push esi
call edi
mov dword [ebp - 0x7d8], eax
cmp esi, eax
jae 0x42b5b8
movzx eax, word [esi]
push eax
lea ecx, [ebp - 0x168]
call fcn.00411afa
add esi, 2
cmp esi, dword [ebp - 0x7d8]
jb 0x42b59e
movzx eax, word [esi]
test ax, ax
jne 0x42b58b
cmp word [esi], 0x27
jne 0x42b642
lea ecx, [ebp - 0x168]
call fcn.00411a59
test al, al
jne 0x42b62b
push 0x453b04
lea ecx, [ebp - 0x1ec]
call fcn.00412055
test al, al
jne 0x42b619
push 0x453afc
lea ecx, [ebp - 0x1ec]
call fcn.00412055
test al, al
jne 0x42b619
push str.restype
lea ecx, [ebp - 0x1ec]
call fcn.00412055
test al, al
je 0x42b62b
lea ecx, [ebp - 0xe4]
jmp 0x42b61f
lea ecx, [ebp - 0x270]
lea eax, [ebp - 0x168]
push eax
call fcn.00411a92
mov ax, word [esi + 2]
add esi, 4
cmp ax, 0x20
jne 0x42b642
cmp word [esi], 0
jne 0x42b4d7
push 0x453b44
lea ecx, [ebp - 0xe4]
call fcn.00412055
test al, al
je 0x42b793
mov esi, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x7f4]
lea ecx, [esi + 0x10]
mov dword [ebp - 0x7d8], ecx
cmp ecx, dword [eax + 8]
jle 0x42b68d
cmp esi, dword [eax]
jle 0x42b68d
cmp dword [ebp - 0x824], 0
jne 0x42b68d
mov byte [ebp - 0x7bf], 1
jmp 0x42b734
xor edi, edi
cmp byte [ebp - 0x7be], 0
mov dword [ebp - 0x7ec], edi
je 0x42b6fe
cmp byte [ebp - 0x7bd], 0
je 0x42b6fe
push 0x101
push 0x2b4
lea eax, [ebp - 0x7b8]
push eax
push edi
lea ecx, [ebp - 0x270]
call fcn.004118d8
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push 3
push edi
push edi
push 0x10
push 0x10
push dword [ebp - 0x7b8]
push dword [ebp - 0x7cc]
push esi
push dword [ebp - 0x7c4]
call dword [sym.imp.USER32.dll_DrawIconEx]
push dword [ebp - 0x7b8]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, dword [ebp - 0x7d8]
push 0x10
pop eax
cmp dword [ebp - 0x7e0], eax
jge 0x42b70f
mov dword [ebp - 0x7e0], eax
mov eax, ecx
mov ecx, dword [ebp - 0x7cc]
add ecx, 0x10
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x828], ecx
cmp dword [ebp - 0x7f0], eax
jg 0x42b734
mov dword [ebp - 0x7f0], eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xd
call fcn.0041192e
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0xc
call fcn.0041192e
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xb
call fcn.0041192e
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xa
call fcn.0041192e
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 9
call fcn.0041192e
lea ecx, [ebp - 0x3fc]
mov byte [ebp - 4], 6
call fcn.0041192e
jmp 0x42c473
push 0x453b3c
lea ecx, [ebp - 0xe4]
call fcn.00412055
test al, al
je 0x42b85e
mov esi, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x7f4]
lea edi, [esi + 0x20]
cmp edi, dword [eax + 8]
jle 0x42b7d0
cmp esi, dword [eax]
jle 0x42b7d0
cmp dword [ebp - 0x824], 0
je 0x42b681
and dword [ebp - 0x7ec], 0
cmp byte [ebp - 0x7be], 0
je 0x42b83d
cmp byte [ebp - 0x7bd], 0
je 0x42b83d
push 0x100
push 0x2b4
lea eax, [ebp - 0x7b8]
push eax
push 0
lea ecx, [ebp - 0x270]
call fcn.004118d8
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push 3
push 0
push 0
push 0x20
push 0x20
push dword [ebp - 0x7b8]
push dword [ebp - 0x7cc]
push esi
push dword [ebp - 0x7c4]
call dword [sym.imp.USER32.dll_DrawIconEx]
push dword [ebp - 0x7b8]
call dword [sym.imp.USER32.dll_DestroyIcon]
push 0x20
pop eax
cmp dword [ebp - 0x7e0], eax
jge 0x42b84e
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7cc]
mov eax, edi
add ecx, 0x20
jmp 0x42b71a
push 0x453b34
lea ecx, [ebp - 0xe4]
call fcn.00412055
test al, al
jne 0x42ba8e
push 0x453b2c
lea ecx, [ebp - 0xe4]
call fcn.00412055
test al, al
jne 0x42ba8e
push 0x453b28
lea ecx, [ebp - 0xe4]
call fcn.00412055
test al, al
jne 0x42ba8e
push 0
lea ecx, [ebp - 0xe4]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x270]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00418256
lea ecx, [ebp - 0x168]
mov edi, eax
mov byte [ebp - 4], 0xd
call fcn.0041192e
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0xc
call fcn.0041192e
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xb
call fcn.0041192e
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xa
call fcn.0041192e
test edi, edi
je 0x42ba82
cmp dword [ebp - 0x7e8], 1
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
mov dword [ebp - 0x7d8], eax
jle 0x42b933
cdq
idiv dword [ebp - 0x7e8]
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7f4]
add eax, ecx
mov dword [ebp - 0x7e8], eax
cmp eax, dword [edx + 8]
jle 0x42b965
cmp ecx, dword [edx]
jle 0x42b965
cmp dword [ebp - 0x824], 0
jne 0x42b965
mov byte [ebp - 0x7bf], 1
jmp 0x42b770
and dword [ebp - 0x7ec], 0
cmp byte [ebp - 0x7be], 0
je 0x42ba4b
cmp byte [ebp - 0x7bd], 0
je 0x42ba4b
mov edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x7cc]
mov ecx, edx
sub ecx, esi
add edx, eax
push edx
push dword [ebp - 0x7e8]
mov dword [ebp - 0x828], ecx
add ecx, eax
push ecx
push dword [ebp - 0x7d0]
lea ecx, [ebp - 0x30]
call fcn.00411681
cmp esi, dword [ebp - 0x82c]
jge 0x42b9da
mov eax, dword [ebp - 0x828]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [ebp - 0x24]
neg ecx
add eax, ecx
mov dword [ebp - 0x24], eax
sub eax, esi
mov dword [ebp - 0x2c], eax
push esi
push dword [ebp - 0x7d8]
lea ecx, [ebp - 0x40]
push 0
push 0
call fcn.00411681
mov eax, dword [ebp - 0x7fc]
mov ecx, eax
imul ecx, dword [ebp - 0x7d8]
inc eax
imul eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
push eax
push eax
mov dword [ebp - 0x40], ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00411681
xor eax, eax
push eax
push eax
push eax
push eax
movzx eax, byte [edi + 0xc]
push 0xff
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x30]
push eax
push eax
push dword [edi]
push dword [ebp - 0x7c4]
call fcn.00428902
mov eax, dword [ebp - 0x7e8]
add esp, 0x30
cmp esi, dword [ebp - 0x7e0]
jle 0x42ba59
mov dword [ebp - 0x7e0], esi
add esi, dword [ebp - 0x7cc]
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x828], esi
cmp dword [ebp - 0x7f0], eax
jg 0x42b770
mov dword [ebp - 0x7f0], eax
jmp 0x42b770
and dword [ebp - 0x7ec], 0
jmp 0x42b770
mov esi, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x7f4]
lea ecx, [esi + 0x10]
mov dword [ebp - 0x7d8], ecx
cmp ecx, dword [eax + 8]
jle 0x42bab9
cmp esi, dword [eax]
jle 0x42bab9
cmp dword [ebp - 0x824], 0
je 0x42b681
xor edi, edi
cmp byte [ebp - 0x7be], 0
mov dword [ebp - 0x7ec], edi
je 0x42b6fe
cmp byte [ebp - 0x7bd], 0
je 0x42b6fe
lea ecx, [ebp - 0xe4]
call fcn.004118d8
push 1
lea ecx, [ebp - 0x868]
push ecx
push edi
push 0xa
lea ecx, [ebp - 0x894]
push ecx
push eax
mov dword [ebp - 0x894], eax
call fcn.0043cde2
add esp, 0xc
push eax
lea ecx, [ebp - 0x270]
call fcn.004118d8
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
push 3
push edi
push edi
push 0x10
push 0x10
push dword [ebp - 0x868]
push dword [ebp - 0x7cc]
push esi
push dword [ebp - 0x7c4]
call dword [sym.imp.USER32.dll_DrawIconEx]
push dword [ebp - 0x868]
jmp 0x42b6f2
mov edi, dword [sym.imp.USER32.dll_CharNextW]
add ecx, 2
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
je 0x42bb6b
cmp ax, 0x20
ja 0x42bb6b
push ecx
call edi
mov ecx, eax
jmp 0x42bb50
push 0xa
lea eax, [ebp - 0x7bc]
push eax
push ecx
mov ebx, ecx
call fcn.0043cde2
add esp, 0xc
cmp ebx, dword [ebp - 0x7bc]
je 0x42bbba
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415c09
mov edi, eax
push edi
lea ecx, [ebp - 0x81c]
call fcn.0041179c
push dword [edi]
lea ebx, [edi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x42bdf3
lea ecx, [ebp - 0x480]
call fcn.00411906
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 7
mov dword [ebp - 0x7d8], 0xa
call fcn.00411906
mov eax, dword [ebp - 0x7bc]
mov byte [ebp - 4], 8
mov byte [ebp - 0x854], 0
mov byte [ebp - 0x864], 0
mov byte [ebp - 0x858], 0
jmp 0x42bc3a
cmp cx, 0x3e
je 0x42bc53
cmp cx, 0x7d
je 0x42bc53
cmp cx, 0x20
je 0x42bc53
push eax
call edi
mov ebx, eax
jmp 0x42bc30
movzx ecx, word [eax]
add eax, 2
push ecx
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x7bc], eax
call fcn.00411afa
mov eax, dword [ebp - 0x7bc]
cmp eax, ebx
jb 0x42bc18
movzx ecx, word [eax]
test cx, cx
jne 0x42bbff
jmp 0x42bc53
cmp cx, 0x20
ja 0x42bc5b
push eax
call edi
mov dword [ebp - 0x7bc], eax
movzx ecx, word [eax]
test cx, cx
jne 0x42bc44
movzx eax, word [eax]
push eax
call fcn.0043f4fe
pop ecx
test eax, eax
je 0x42bc86
push 0xa
lea eax, [ebp - 0x7bc]
push eax
push dword [ebp - 0x7bc]
call fcn.0043cde2
add esp, 0xc
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x7bc]
jmp 0x42bc9d
cmp cx, 0x20
ja 0x42bcdc
push eax
call edi
mov dword [ebp - 0x7bc], eax
movzx ecx, word [eax]
test cx, cx
jne 0x42bc8e
jmp 0x42bcdc
cmp cx, 0x3e
je 0x42bce4
cmp cx, 0x7d
je 0x42bce4
push eax
call edi
mov ebx, eax
jmp 0x42bcd2
movzx ecx, word [eax]
add eax, 2
push ecx
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x7bc], eax
call fcn.00411afa
mov eax, dword [ebp - 0x7bc]
cmp eax, ebx
jb 0x42bcba
movzx ecx, word [eax]
test cx, cx
jne 0x42bca7
lea ecx, [ebp - 0x378]
call fcn.00411b31
xor edi, edi
push edi
push str.bold
lea ecx, [ebp - 0x378]
call fcn.00411b3a
test eax, eax
js 0x42bd0d
mov byte [ebp - 0x854], 1
push edi
push str.underline
lea ecx, [ebp - 0x378]
call fcn.00411b3a
test eax, eax
js 0x42bd29
mov byte [ebp - 0x864], 1
push edi
push str.italic
lea ecx, [ebp - 0x378]
call fcn.00411b3a
test eax, eax
js 0x42bd45
mov byte [ebp - 0x858], 1
push dword [ebp - 0x858]
lea ecx, [ebp - 0x480]
push dword [ebp - 0x864]
push dword [ebp - 0x854]
push dword [ebp - 0x7d8]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415b27
cmp eax, edi
jne 0x42bda7
push dword [ebp - 0x858]
lea ecx, [ebp - 0x480]
push dword [ebp - 0x864]
push dword [ebp - 0x854]
push dword [ebp - 0x7d8]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.004163fc
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415c7a
mov edi, eax
push edi
lea ecx, [ebp - 0x81c]
call fcn.0041179c
push dword [edi]
lea ebx, [edi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 7
call fcn.0041192e
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 6
call fcn.0041192e
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
cmp esi, eax
jg 0x42c481
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
mov dword [ebp - 0x7e0], eax
jmp 0x42c481
add ecx, 2
jmp 0x42be54
cmp ax, 0x20
ja 0x42be62
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42be45
cmp word [ecx], 0x23
jne 0x42be71
add ecx, 2
mov dword [ebp - 0x7bc], ecx
push 0x10
lea eax, [ebp - 0x7bc]
push eax
push ecx
call fcn.0043cde2
add esp, 0xc
push eax
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x7fc], eax
call fcn.0041179c
mov eax, dword [ebp - 0x7fc]
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x42c481
add ecx, 2
mov dword [ebp - 0x7bc], ecx
mov ecx, dword [ebp - 0x7d4]
call fcn.00415983
lea ecx, [ebp - 0x81c]
mov esi, eax
call fcn.00411c84
test eax, eax
jle 0x42bf07
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
mov esi, eax
cmp byte [esi + 0x8c], 0
jne 0x42c481
movzx eax, byte [esi + 0x8e]
push eax
movzx eax, byte [esi + 0x8d]
push eax
push 1
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415b27
test eax, eax
jne 0x42bf70
movzx eax, byte [esi + 0x8e]
push eax
movzx eax, byte [esi + 0x8d]
push eax
push 1
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.004163fc
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415c7a
mov esi, eax
push esi
lea ecx, [ebp - 0x81c]
call fcn.0041179c
push dword [esi]
lea ebx, [esi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
cmp dword [ebp - 0x7e0], eax
jmp 0x42be12
add ecx, 2
jmp 0x42bfda
cmp ax, 0x20
ja 0x42bfe8
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42bfcb
mov eax, dword [ebp - 0x7f8]
mov ecx, dword [ebp - 0x830]
cmp eax, dword [ecx]
jge 0x42c05b
cmp byte [ebp - 0x7bd], 0
jne 0x42c05b
mov edi, eax
imul edi, edi, 0x84
add edi, dword [ebp - 0x850]
mov ecx, edi
call fcn.00411a64
mov eax, dword [ebp - 0x7bc]
jmp 0x42c053
cmp cx, 0x3e
je 0x42c05b
cmp cx, 0x7d
je 0x42c05b
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
jmp 0x42c049
movzx ecx, word [eax]
add eax, 2
push ecx
mov ecx, edi
mov dword [ebp - 0x7bc], eax
call fcn.00411afa
mov eax, dword [ebp - 0x7bc]
cmp eax, esi
jb 0x42c035
movzx ecx, word [eax]
test cx, cx
jne 0x42c01e
mov ecx, dword [ebp - 0x7d4]
call fcn.00415914
cmp byte [ebp - 0x7d9], 0
mov dword [ebp - 0x7d8], eax
je 0x42c0b7
mov ecx, dword [ebp - 0x7f8]
mov eax, dword [ebp - 0x830]
cmp ecx, dword [eax]
jge 0x42c0b7
imul ecx, ecx, 0x84
add ecx, dword [ebp - 0x850]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x504]
call fcn.00412055
test al, al
je 0x42c0b7
mov ecx, dword [ebp - 0x7d4]
call fcn.00415939
mov dword [ebp - 0x7d8], eax
push dword [ebp - 0x7d8]
lea ecx, [ebp - 0x83c]
call fcn.0041179c
mov eax, dword [ebp - 0x7d8]
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp - 0x7d4]
call fcn.00415983
lea ecx, [ebp - 0x81c]
mov esi, eax
call fcn.00411c84
test eax, eax
jle 0x42c12c
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
mov esi, eax
mov al, byte [esi + 0x8d]
cmp al, 1
jne 0x42c13f
cmp byte [ebp - 0x7d9], 0
je 0x42c153
test al, al
jne 0x42c226
cmp byte [ebp - 0x7d9], al
je 0x42c226
movzx eax, byte [esi + 0x8e]
setne bl
push eax
movzx eax, byte [esi + 0x8c]
lea ecx, [esi + 4]
push ebx
push eax
push dword [esi + 0x88]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415b27
test eax, eax
jne 0x42c1b0
movzx eax, byte [esi + 0x8e]
push eax
movzx eax, byte [esi + 0x8c]
push ebx
push eax
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.004163fc
mov ecx, dword [ebp - 0x7d4]
push eax
call fcn.00415c7a
mov esi, eax
push esi
lea ecx, [ebp - 0x81c]
call fcn.0041179c
push dword [esi]
lea ebx, [esi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
cmp dword [ebp - 0x7e0], eax
jg 0x42c226
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
mov dword [ebp - 0x7e0], eax
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x848], eax
mov byte [ebp - 0x7e1], 1
jmp 0x42c481
mov eax, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7f4]
add ecx, 2
mov dword [ebp - 0x7bc], ecx
cmp eax, dword [edx]
jle 0x42c281
mov byte [ebp - 0x7bf], 1
jmp 0x42c281
cmp ax, 0x20
ja 0x42c289
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42c26c
push 0xa
lea eax, [ebp - 0x7bc]
push eax
push ecx
call fcn.0043cde2
add esp, 0xc
mov edi, eax
push edi
lea ecx, [ebp - 0x80c]
call fcn.0041179c
mov eax, dword [ebx + 0x10]
add eax, edi
add eax, dword [ebx]
cmp esi, eax
jg 0x42c481
jmp 0x42be35
sub eax, 0x72
je 0x42c463
dec eax
je 0x42c420
dec eax
dec eax
je 0x42c377
sub eax, 3
je 0x42c31a
dec eax
jne 0x42c481
add ecx, 2
jmp 0x42c2f5
cmp ax, 0x20
ja 0x42c303
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42c2e6
push 0xa
lea eax, [ebp - 0x7bc]
push eax
push ecx
call fcn.0043cde2
add esp, 0xc
jmp 0x42be35
add ecx, 2
jmp 0x42c32e
cmp ax, 0x20
ja 0x42c33c
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42c31f
push 0xa
lea eax, [ebp - 0x7bc]
push eax
push ecx
call fcn.0043cde2
add dword [ebp - 0x7d0], eax
mov eax, dword [ebp - 0x7f0]
add esp, 0xc
cmp eax, dword [ebp - 0x7d0]
jg 0x42c481
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x7f0], eax
jmp 0x42c481
mov edi, dword [ebp - 0x7d4]
add ecx, 2
mov dword [ebp - 0x7bc], ecx
mov ecx, edi
call fcn.00415983
lea ecx, [ebp - 0x81c]
mov esi, eax
call fcn.00411c84
test eax, eax
jle 0x42c3b8
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
mov esi, eax
cmp byte [esi + 0x8d], 0
jne 0x42c481
movzx eax, byte [esi + 0x8e]
push eax
movzx eax, byte [esi + 0x8c]
push 1
push eax
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
push eax
mov ecx, edi
call fcn.00415b27
test eax, eax
jne 0x42c419
movzx eax, byte [esi + 0x8e]
push eax
movzx eax, byte [esi + 0x8c]
push 1
push eax
push dword [esi + 0x88]
lea ecx, [esi + 4]
call fcn.004118d8
push eax
mov ecx, edi
call fcn.004163fc
mov ecx, edi
jmp 0x42bf76
add ecx, 2
cmp byte [ebp - 0x7c5], 0
mov dword [ebp - 0x7bc], ecx
sete al
cmp byte [ebp - 0x7be], 0
mov byte [ebp - 0x7c5], al
je 0x42c481
cmp byte [ebp - 0x7bd], 0
je 0x42c481
test al, al
je 0x42c45f
push 2
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x42c481
push 1
jmp 0x42c451
add ecx, 2
mov dword [ebp - 0x7bc], ecx
mov byte [ebp - 0x7c6], 1
mov eax, dword [ebp - 0x7ec]
test eax, eax
jne 0x42cd77
mov ecx, dword [ebp - 0x7bc]
jmp 0x42c4a4
cmp ax, 0x3e
je 0x42c4ac
cmp ax, 0x7d
je 0x42c4ac
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, eax
mov dword [ebp - 0x7bc], ecx
movzx eax, word [ecx]
test ax, ax
jne 0x42c489
push ecx
call dword [sym.imp.USER32.dll_CharNextW]
jmp 0x42cd77
cmp ax, 0x3c
je 0x42c4c8
cmp ax, 0x7b
jne 0x42c82a
mov ecx, dword [ebp - 0x7bc]
cmp word [ecx + 2], 0x2f
jne 0x42c82a
add dword [ebp - 0x7bc], 4
mov eax, dword [ebp - 0x7bc]
movzx eax, word [eax]
cmp eax, 0x69
jg 0x42c675
je 0x42c68f
sub eax, 0x61
je 0x42c5a1
dec eax
je 0x42c68f
dec eax
je 0x42c519
sub eax, 3
je 0x42c68f
jmp 0x42c7e5
add dword [ebp - 0x7bc], 2
lea ecx, [ebp - 0x83c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x83c]
call fcn.00411877
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x7fc], eax
call fcn.00411c84
test eax, eax
jle 0x42c56e
lea ecx, [ebp - 0x83c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x83c]
call fcn.004118db
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp - 0x7fc]
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x42c7e5
mov eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x7f8]
cmp ecx, dword [eax]
jge 0x42c5f0
cmp byte [ebp - 0x7bd], 0
jne 0x42c5ea
mov eax, dword [ebx + 0x10]
add eax, dword [ebx]
add eax, dword [ebp - 0x7cc]
push eax
push dword [ebp - 0x7d0]
mov eax, ecx
push dword [ebp - 0x848]
shl eax, 4
push dword [ebp - 0x84c]
add eax, dword [ebp - 0x844]
push eax
call dword [sym.imp.USER32.dll_SetRect]
inc dword [ebp - 0x7f8]
lea ecx, [ebp - 0x83c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x83c]
call fcn.00411877
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x7fc], eax
call fcn.00411c84
test eax, eax
jle 0x42c63e
lea ecx, [ebp - 0x83c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x83c]
call fcn.004118db
mov dword [ebp - 0x7fc], eax
mov eax, dword [ebp - 0x7fc]
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov byte [ebp - 0x7e1], 0
jmp 0x42c68f
sub eax, 0x70
je 0x42c769
sub eax, 3
je 0x42c720
dec eax
dec eax
jne 0x42c7e5
add dword [ebp - 0x7bc], 2
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.00411877
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
mov edi, eax
test edi, edi
jne 0x42c6d9
mov ecx, dword [ebp - 0x7d4]
call fcn.00415983
mov edi, eax
cmp byte [ebx + 0x34], 0
je 0x42c70a
cmp byte [edi + 0x8e], 0
jne 0x42c70a
lea eax, [ebp - 0x1c]
push eax
push 0x20
push 0x20
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
mov eax, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
add dword [ebp - 0x7d0], eax
push dword [edi]
lea ebx, [edi + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x42c79f
add dword [ebp - 0x7bc], 2
cmp byte [ebp - 0x7c5], 0
sete al
cmp byte [ebp - 0x7be], 0
mov byte [ebp - 0x7c5], al
je 0x42c7e5
cmp byte [ebp - 0x7bd], 0
je 0x42c7e5
test al, al
je 0x42c759
push 2
jmp 0x42c75b
push 1
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x42c7e5
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x7f4]
add dword [ebp - 0x7bc], 2
cmp eax, dword [ecx]
jle 0x42c787
mov byte [ebp - 0x7bf], 1
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.00411877
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
add eax, dword [ebx]
add eax, dword [ebx + 0x10]
cmp esi, eax
jg 0x42c7e5
lea ecx, [ebp - 0x80c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
mov esi, eax
add esi, dword [ebx]
add esi, dword [ebx + 0x10]
mov dword [ebp - 0x7e0], esi
mov eax, dword [ebp - 0x7bc]
jmp 0x42c80b
cmp ax, 0x3e
je 0x42c813
cmp ax, 0x7d
je 0x42c813
push dword [ebp - 0x7bc]
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x7bc], eax
movzx eax, word [eax]
test ax, ax
jne 0x42c7ed
push dword [ebp - 0x7bc]
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [ebp - 0x7bc], eax
jmp 0x42cf66
cmp ax, 0x3c
jne 0x42c8da
mov ecx, dword [ebp - 0x7bc]
cmp word [ecx + 4], 0x3e
jne 0x42c8da
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42c859
cmp edx, 0x7d
jne 0x42c8da
and dword [ebp - 0x8b4], 0
xor eax, eax
lea edi, [ebp - 0x8b0]
stosd dword es:[edi], eax
lea eax, [ebp - 0x8b4]
push eax
push 1
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [ebp - 0x7be], 0
je 0x42c8c9
cmp byte [ebp - 0x7bd], 0
je 0x42c8c9
mov eax, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x7d0]
add eax, 2
push 1
push eax
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebx + 0x10]
sub eax, dword [ebx]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x7cc]
push eax
push edi
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_TextOutW]
jmp 0x42c8cf
mov edi, dword [ebp - 0x7d0]
add edi, dword [ebp - 0x8b4]
jmp 0x42c985
cmp ax, 0x7b
jne 0x42c9a5
mov ecx, dword [ebp - 0x7bc]
cmp word [ecx + 4], 0x7d
jne 0x42c9a5
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0x3c
je 0x42c909
cmp edx, 0x3e
jne 0x42c9a5
and dword [ebp - 0x8a0], 0
xor eax, eax
lea edi, [ebp - 0x89c]
stosd dword es:[edi], eax
lea eax, [ebp - 0x8a0]
push eax
push 1
push ecx
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [ebp - 0x7be], 0
je 0x42c979
cmp byte [ebp - 0x7bd], 0
je 0x42c979
mov eax, dword [ebp - 0x7bc]
mov edi, dword [ebp - 0x7d0]
add eax, 2
push 1
push eax
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebx + 0x10]
sub eax, dword [ebx]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x7cc]
push eax
push edi
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_TextOutW]
jmp 0x42c97f
mov edi, dword [ebp - 0x7d0]
add edi, dword [ebp - 0x8a0]
mov dword [ebp - 0x7d0], edi
cmp dword [ebp - 0x7f0], edi
jg 0x42c999
mov dword [ebp - 0x7f0], edi
add dword [ebp - 0x7bc], 6
jmp 0x42cf66
cmp ax, 0x20
jne 0x42ca4a
and dword [ebp - 0x8a8], 0
xor eax, eax
lea edi, [ebp - 0x8a4]
stosd dword es:[edi], eax
lea eax, [ebp - 0x8a8]
push eax
push 1
push 0x4580e0
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [ebp - 0x7be], 0
je 0x42ca1e
cmp byte [ebp - 0x7bd], 0
je 0x42ca1e
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0x7d0]
sub eax, dword [ebx]
push 1
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x7cc]
push 0x4580e0
push eax
push edi
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_TextOutW]
jmp 0x42ca24
mov edi, dword [ebp - 0x7d0]
add edi, dword [ebp - 0x8a8]
mov dword [ebp - 0x7d0], edi
cmp dword [ebp - 0x7f0], edi
jg 0x42ca3e
mov dword [ebp - 0x7f0], edi
add dword [ebp - 0x7bc], 2
jmp 0x42cf66
mov eax, dword [ebp - 0x7d0]
mov esi, dword [ebp - 0x7bc]
xor ecx, ecx
mov dword [ebp - 0x8bc], eax
xor eax, eax
lea edi, [ebp - 0x85c]
mov dword [ebp - 0x860], ecx
mov dword [ebp - 0x7ec], ecx
mov dword [ebp - 0x7e8], ecx
mov dword [ebp - 0x7d8], ecx
mov dword [ebp - 0x7fc], ecx
stosd dword es:[edi], eax
cmp byte [ebp - 0x7c6], al
jne 0x42ca93
cmp word [esi], 0x3c
je 0x42ca99
cmp word [esi], 0x7b
jne 0x42caab
xor eax, eax
add esi, 2
inc eax
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], eax
movzx eax, word [esi]
cmp ax, cx
je 0x42cc99
cmp ax, 0xa
je 0x42cc99
cmp byte [ebp - 0x7c6], 0
je 0x42cafe
cmp ax, 0x3c
je 0x42cad6
cmp ax, 0x7b
jne 0x42cb12
cmp word [esi + 2], 0x2f
jne 0x42cb12
cmp word [esi + 4], 0x72
jne 0x42cb12
movzx eax, word [esi + 6]
cmp eax, 0x3e
je 0x42caf2
cmp eax, 0x7d
jne 0x42cb12
mov byte [ebp - 0x7c6], 0
jmp 0x42cc99
cmp ax, 0x3c
je 0x42cc99
cmp ax, 0x7b
je 0x42cc99
push esi
call dword [sym.imp.USER32.dll_CharNextW]
inc dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7f4]
mov edi, eax
sub eax, esi
sar eax, 1
add dword [ebp - 0x7e8], eax
mov eax, dword [ebx + 0x18]
imul eax, dword [ebp - 0x7ec]
add ecx, eax
mov dword [ebp - 0x860], eax
cmp ecx, dword [edx + 8]
jl 0x42cb73
lea eax, [ebp - 0x860]
push eax
push dword [ebp - 0x7e8]
push dword [ebp - 0x7bc]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [ebp - 0x860]
mov ecx, dword [ebp - 0x7d0]
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0x7f4]
cmp edx, dword [ecx + 8]
jg 0x42cbed
movzx eax, word [esi]
cmp eax, 0x61
jb 0x42cb94
cmp eax, 0x7a
jbe 0x42cbb6
cmp eax, 0x41
jb 0x42cb9e
cmp eax, 0x5a
jbe 0x42cbb6
mov ecx, dword [ebp - 0x7ec]
mov dword [ebp - 0x7d8], ecx
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x7fc], ecx
cmp eax, 0x20
jne 0x42cbd3
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x7fc], eax
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x42cab7
jmp 0x42cc99
mov edx, dword [ebp - 0x7d0]
add eax, edx
cmp eax, dword [ecx + 8]
jle 0x42cc0e
cmp edx, dword [ecx]
je 0x42cc0e
dec dword [ebp - 0x7ec]
sub edi, esi
sar edi, 1
sub dword [ebp - 0x7e8], edi
test byte [ebp + 0x28], 0x10
je 0x42cc30
mov eax, dword [ebp - 0x7d8]
test eax, eax
jle 0x42cc30
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x7e8], eax
test dword [ebp + 0x28], 0x8000
je 0x42cc84
cmp dword [ebp - 0x7ec], 0
jle 0x42cc84
mov edi, dword [sym.imp.USER32.dll_CharPrevW]
dec dword [ebp - 0x7ec]
push esi
push dword [ebp - 0x7bc]
call edi
cmp dword [ebp - 0x7ec], 0
jle 0x42cc69
push eax
push dword [ebp - 0x7bc]
call edi
sub esi, eax
mov eax, dword [ebp - 0x7f4]
mov eax, dword [eax + 8]
sar esi, 1
sub dword [ebp - 0x7e8], esi
mov dword [ebp - 0x7d0], eax
mov edx, eax
mov byte [ebp - 0x7bf], 1
cmp dword [ebp - 0x7f0], edx
jg 0x42cc99
mov dword [ebp - 0x7f0], edx
mov esi, dword [ebp - 0x7e8]
lea eax, [ebp - 0x860]
push eax
push esi
push dword [ebp - 0x7bc]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp byte [ebp - 0x7be], 0
je 0x42cd4e
cmp byte [ebp - 0x7bd], 0
je 0x42cd4e
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebx]
mov edi, dword [sym.imp.GDI32.dll_TextOutW]
sub eax, dword [ebx + 0x10]
push esi
push dword [ebp - 0x7bc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x7cc]
push eax
push dword [ebp - 0x8bc]
push dword [ebp - 0x7c4]
call edi
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [ebp - 0x7d0]
cmp ecx, dword [eax + 8]
jl 0x42cd4e
test dword [ebp + 0x28], 0x8000
je 0x42cd4e
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebx]
mov ecx, dword [ebp - 0x8bc]
sub eax, dword [ebx + 0x10]
add ecx, dword [ebp - 0x860]
cdq
sub eax, edx
push 3
sar eax, 1
add eax, dword [ebp - 0x7cc]
push 0x453b20
push eax
push ecx
push dword [ebp - 0x7c4]
call edi
mov eax, dword [ebp - 0x7d0]
add eax, dword [ebp - 0x860]
mov dword [ebp - 0x7d0], eax
cmp dword [ebp - 0x7f0], eax
jg 0x42cd6e
mov dword [ebp - 0x7f0], eax
mov eax, dword [ebp - 0x7bc]
lea eax, [eax + esi*2]
mov esi, dword [ebp - 0x7e0]
mov dword [ebp - 0x7bc], eax
jmp 0x42cf66
cmp ax, 0xa
jne 0x42cd95
add dword [ebp - 0x7bc], 2
cmp byte [ebp - 0x7bf], 0
je 0x42cda5
mov byte [ebp - 0x7bf], 0
cmp byte [ebp - 0x7bd], 0
jne 0x42ce83
cmp byte [ebp - 0x7e1], 0
je 0x42ce23
mov eax, dword [ebp - 0x830]
mov edx, dword [ebp - 0x7f8]
cmp edx, dword [eax]
jge 0x42ce23
cmp ecx, edi
jl 0x42cdd1
mov ecx, edi
mov edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x7f8]
add edx, esi
push edx
push ecx
push dword [ebp - 0x848]
shl eax, 4
add eax, dword [ebp - 0x844]
push dword [ebp - 0x84c]
push eax
call dword [sym.imp.USER32.dll_SetRect]
inc dword [ebp - 0x7f8]
mov eax, dword [ebp - 0x7f8]
mov ecx, dword [ebp - 0x850]
imul eax, eax, 0x84
add ecx, eax
lea eax, [ecx - 0x84]
push eax
call fcn.00411a92
mov eax, dword [ebp - 0x7f8]
cmp dword [ebp - 0x840], eax
jge 0x42ce60
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x844]
lea edx, [esi + eax]
mov eax, dword [ebp - 0x840]
add eax, eax
lea ecx, [ecx + eax*8 + 0xc]
mov eax, dword [ebp - 0x7f8]
sub eax, dword [ebp - 0x840]
mov dword [ecx], edx
add ecx, 0x10
dec eax
jne 0x42ce58
cmp byte [ebp - 0x7be], 0
je 0x42ceb5
mov al, byte [ebp - 0x80d]
mov byte [ebp - 0x7e1], al
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0x7f8], eax
jmp 0x42ceb5
mov al, byte [ebp - 0x7e1]
test al, al
je 0x42cea3
mov ecx, dword [ebp - 0x830]
mov edx, dword [ebp - 0x7f8]
cmp edx, dword [ecx]
jge 0x42cea3
inc dword [ebp - 0x7f8]
mov byte [ebp - 0x80d], al
mov eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x840], eax
cmp dword [ebp - 0x824], 0
je 0x42ced8
cmp byte [ebp - 0x7be], 0
je 0x42d26b
cmp byte [ebp - 0x7bd], 0
jne 0x42d26b
cmp byte [ebp - 0x7be], 0
je 0x42cef1
cmp byte [ebp - 0x7bd], 0
sete al
mov byte [ebp - 0x7bd], al
cmp byte [ebp - 0x7bd], 0
mov eax, dword [ebp - 0x7f4]
mov edi, dword [eax]
mov dword [ebp - 0x7d0], edi
jne 0x42cf0e
add dword [ebp - 0x7cc], esi
mov ecx, dword [ebp - 0x7cc]
cmp ecx, dword [eax + 0xc]
jle 0x42cf26
cmp byte [ebp - 0x7be], 0
jne 0x42d26b
mov dword [ebp - 0x848], ecx
lea ecx, [ebp - 0x80c]
mov dword [ebp - 0x84c], edi
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118db
mov esi, eax
add esi, dword [ebx + 0x10]
mov eax, dword [ebp - 0x7f4]
add esi, dword [ebx]
mov dword [ebp - 0x7e0], esi
cmp edi, dword [eax + 8]
jge 0x42d26b
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x7f4]
cmp eax, dword [ecx + 8]
jge 0x42cf8a
mov eax, dword [ebp - 0x7bc]
movzx eax, word [eax]
cmp eax, 0xa
je 0x42cf8a
test ax, ax
jne 0x42cf91
mov byte [ebp - 0x7bf], 1
cmp byte [ebp - 0x7be], 0
je 0x42d259
cmp byte [ebp - 0x7bf], 0
je 0x42d259
cmp byte [ebp - 0x7bd], 0
jne 0x42d163
lea ecx, [ebp - 0x878]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x81c]
call fcn.0041175d
lea ecx, [ebp - 0x878]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x878]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118d8
push eax
call fcn.0043d530
add esp, 0xc
lea ecx, [ebp - 0x884]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x83c]
call fcn.0041175d
lea ecx, [ebp - 0x884]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x884]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x83c]
call fcn.004118d8
push eax
call fcn.0043d530
add esp, 0xc
lea ecx, [ebp - 0x890]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x80c]
call fcn.0041175d
lea ecx, [ebp - 0x890]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x890]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118d8
push eax
call fcn.0043d530
mov eax, dword [ebp - 0x820]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x7bc], eax
mov al, byte [ebp - 0x80e]
mov byte [ebp - 0x7c6], al
mov al, byte [ebp - 0x7fd]
add esp, 0xc
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x82c], esi
mov byte [ebp - 0x7c5], al
call fcn.00411c84
test eax, eax
jle 0x42d0e0
lea ecx, [ebp - 0x83c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x83c]
call fcn.004118db
mov ebx, eax
mov eax, ebx
shr eax, 8
movzx eax, al
movzx ecx, bl
shl ecx, 8
or eax, ecx
shr ebx, 0x10
movzx ecx, bl
shl eax, 8
or eax, ecx
push eax
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetTextColor]
lea ecx, [ebp - 0x81c]
call fcn.00411c84
dec eax
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118db
test eax, eax
jne 0x42d12f
mov ecx, dword [ebp - 0x7d4]
call fcn.00415983
push dword [eax]
lea ebx, [eax + 0x90]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [ebp - 0x7fd], 0
je 0x42d259
push 2
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x42d259
lea ecx, [ebp - 0x81c]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x878]
call fcn.0041175d
lea ecx, [ebp - 0x81c]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x81c]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x878]
call fcn.004118d8
push eax
call fcn.0043d530
add esp, 0xc
lea ecx, [ebp - 0x83c]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x884]
call fcn.0041175d
lea ecx, [ebp - 0x83c]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x83c]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x884]
call fcn.004118d8
push eax
call fcn.0043d530
add esp, 0xc
lea ecx, [ebp - 0x80c]
call fcn.00411c84
push eax
lea ecx, [ebp - 0x890]
call fcn.0041175d
lea ecx, [ebp - 0x80c]
call fcn.00411c84
shl eax, 2
push eax
lea ecx, [ebp - 0x80c]
call fcn.004118d8
push eax
lea ecx, [ebp - 0x890]
call fcn.004118d8
push eax
call fcn.0043d530
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x820], eax
mov al, byte [ebp - 0x7c5]
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x7c6]
add esp, 0xc
mov byte [ebp - 0x80e], al
mov eax, dword [ebp - 0x7bc]
movzx eax, word [eax]
test ax, ax
jne 0x42b0c8
test dword [ebp + 0x28], 0x400
mov eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x7f8]
mov dword [eax], ecx
je 0x42d2b3
add esi, dword [ebp - 0x7cc]
cmp dword [ebp - 0x828], esi
jle 0x42d296
mov esi, dword [ebp - 0x828]
mov ecx, dword [ebp - 0x7f4]
mov eax, dword [ecx + 8]
mov dword [ecx + 0xc], esi
cmp eax, dword [ebp - 0x7f0]
jl 0x42d2b0
mov eax, dword [ebp - 0x7f0]
mov dword [ecx + 8], eax
cmp byte [ebp - 0x7be], 0
je 0x42d2ce
push dword [ebp - 0x86c]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push dword [ebp - 0x86c]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push dword [ebp - 0x8ac]
call esi
push dword [ebp - 0x898]
push dword [ebp - 0x7c4]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x890]
mov byte [ebp - 4], 5
call fcn.00411732
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 4
call fcn.00411732
lea ecx, [ebp - 0x878]
mov byte [ebp - 4], 3
call fcn.00411732
lea ecx, [ebp - 0x504]
mov byte [ebp - 4], 2
call fcn.0041192e
lea ecx, [ebp - 0x80c]
mov byte [ebp - 4], 1
call fcn.00411732
lea ecx, [ebp - 0x83c]
mov byte [ebp - 4], 0
call fcn.00411732
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x81c]
call fcn.00411732
call fcn.0043dd28
ret