Function at 0x10018a40
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100770a6
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x7a0
mov eax, dword [0x10099040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x580], ecx
mov dword [ebp - 0x5dc], 0
mov byte [ebp - 0x582], 0
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + 0x70]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x10018f5f
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6b8], esp
push str.Microsoft_Teams
call fcn.100041e0
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6d8], esp
mov edx, dword [ebp - 0x580]
add edx, 0x100
push edx
call fcn.100042d0
mov dword [ebp - 4], 0xffffffff
call fcn.100187a0
add esp, 0x30
mov byte [ebp - 0x591], al
movzx eax, byte [ebp - 0x591]
test eax, eax
je 0x10018f5f
lea ecx, [ebp - 0x6c4]
push ecx
call fcn.10021350
add esp, 4
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x5e8]
call fcn.10004c90
mov dword [ebp - 0x5e0], eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6b4], esp
push str.GDIGrabber:_MS_Teams_window_is_currently_shared_but_minimized____Restore_it_to_prevent_frozen_image
call fcn.100041e0
mov eax, dword [ebp - 0x5e0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5e0]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c4]
call fcn.10003dc0
mov ecx, 1
imul esi, ecx, 0
mov ecx, dword [ebp - 0x580]
add ecx, 0x100
call fcn.10004060
add eax, esi
push eax
push 0x10018870
call dword [sym.imp.USER32.dll_EnumWindows]
mov ecx, 0x1009ca1c
call fcn.10001c40
test eax, eax
jbe 0x10018f55
lea edx, [ebp - 0x6d4]
push edx
call fcn.10021350
add esp, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x5f0]
call fcn.10004c90
mov dword [ebp - 0x5b4], eax
mov ecx, 0x1009ca1c
call fcn.10001c40
push eax
lea ecx, [ebp - 0x57c]
push ecx
call fcn.100164f0
add esp, 8
mov dword [ebp - 0x5f4], eax
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5f8]
push eax
push str.GDIGrabber:_Detected
lea ecx, [ebp - 0x4a4]
push ecx
call fcn.10004bd0
add esp, 0xc
mov dword [ebp - 0x5fc], eax
mov edx, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], edx
mov byte [ebp - 4], 4
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x69c], esp
push str._windows
mov ecx, dword [ebp - 0x600]
push ecx
push eax
call fcn.10004c10
add esp, 0xc
mov edx, dword [ebp - 0x5b4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5b4]
mov edx, dword [eax]
call edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4a4]
call fcn.10004100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x57c]
call fcn.10004100
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d4]
call fcn.10003dc0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x5b8], 0x1009ca1c
lea eax, [ebp - 0x5a4]
push eax
mov ecx, dword [ebp - 0x5b8]
call fcn.1001a210
lea ecx, [ebp - 0x604]
push ecx
mov ecx, dword [ebp - 0x5b8]
call fcn.1001a1f0
jmp 0x10018cf2
lea ecx, [ebp - 0x5a4]
call fcn.10019f80
lea edx, [ebp - 0x604]
push edx
lea ecx, [ebp - 0x5a4]
call fcn.10019fc0
movzx eax, al
test eax, eax
je 0x10018f41
lea ecx, [ebp - 0x5a4]
call fcn.10019fa0
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x5a8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x10018f3c
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax]
push ecx
call fcn.100189c0
add esp, 4
push 0x400
lea edx, [ebp - 0x414]
push edx
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + 0x70]
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0x414]
push ecx
lea ecx, [ebp - 0x48c]
call fcn.100041e0
mov dword [ebp - 4], 5
push 1
lea ecx, [ebp - 0x7b0]
call fcn.10006250
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x7a0]
call fcn.10019e00
lea ecx, [ebp - 0x6cc]
push ecx
call fcn.10021350
add esp, 4
mov dword [ebp - 0x608], eax
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0x670], edx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x670]
call fcn.10004c90
mov dword [ebp - 0x5bc], eax
lea eax, [ebp - 0x51c]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.100061b0
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x66c]
mov dword [ebp - 0x644], ecx
mov byte [ebp - 4], 8
lea edx, [ebp - 0x48c]
push edx
push str.GDIGrabber:_Restored_window_
lea eax, [ebp - 0x534]
push eax
call fcn.10014cd0
add esp, 0xc
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x668]
mov dword [ebp - 0x664], ecx
mov byte [ebp - 4], 9
push str.__0x
mov edx, dword [ebp - 0x664]
push edx
lea eax, [ebp - 0x54c]
push eax
call fcn.10004c10
add esp, 0xc
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x660]
mov dword [ebp - 0x65c], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x644]
push edx
mov eax, dword [ebp - 0x65c]
push eax
lea ecx, [ebp - 0x564]
push ecx
call fcn.10004e00
add esp, 0xc
mov dword [ebp - 0x658], eax
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0x654], edx
mov byte [ebp - 4], 0xb
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x6a0], esp
push 0x10087818
mov ecx, dword [ebp - 0x654]
push ecx
push eax
call fcn.10004c10
add esp, 0xc
mov edx, dword [ebp - 0x5bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5bc]
mov edx, dword [eax]
call edx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x564]
call fcn.10004100
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54c]
call fcn.10004100
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x534]
call fcn.10004100
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x51c]
call fcn.10004100
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x6cc]
call fcn.10003dc0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x7b0]
call fcn.10005610
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48c]
call fcn.10004100
jmp 0x10018ce7
mov eax, dword [ebp - 0x650]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov byte [ebp - 0x582], 1
mov ecx, 0x1009ca1c
call fcn.1001a170
mov ecx, dword [ebp - 0x580]
add ecx, 0x74
call fcn.10014830
movzx ecx, al
test ecx, ecx
je 0x10018f8c
mov edx, dword [ebp - 0x580]
mov eax, dword [edx + 0x70]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x10019997
mov ecx, dword [ebp - 0x580]
mov edx, dword [ecx + 0x70]
push edx
lea eax, [ebp - 0x700]
push eax
call fcn.10017900
add esp, 8
mov ecx, dword [eax]
mov dword [ebp - 0x444], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x440], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x43c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x580]
cmp dword [ecx + 8], 0
jne 0x1001905a
mov edx, dword [ebp - 0x580]
cmp dword [edx + 0x10], 0
jne 0x1001905a
mov eax, dword [ebp - 0x580]
cmp dword [eax + 0xc], 0
jne 0x1001905a
mov ecx, dword [ebp - 0x580]
cmp dword [ecx + 0x14], 0
jne 0x1001905a
mov edx, dword [ebp - 0x434]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x418], edx
jmp 0x100190c0
mov eax, dword [ebp - 0x580]
mov ecx, dword [ebp - 0x434]
add ecx, dword [eax + 8]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x580]
mov eax, dword [ebp - 0x430]
add eax, dword [edx + 0xc]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x580]
mov edx, dword [ebp - 0x580]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 8]
add eax, dword [ebp - 0x424]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x580]
mov edx, dword [ebp - 0x580]
mov eax, dword [ecx + 0x14]
sub eax, dword [edx + 0xc]
add eax, dword [ebp - 0x420]
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x424]
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x418]
sub edx, dword [ebp - 0x420]
mov dword [ebp - 0x588], edx
lea ecx, [ebp - 0x5b0]
call fcn.10003500
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x580]
add ecx, 0x64
call fcn.100100e0
cmp eax, 0xffffffff
je 0x100191d8
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x580]
add eax, 0x94
push eax
lea ecx, [ebp - 0x588]
push ecx
lea edx, [ebp - 0x58c]
push edx
mov eax, dword [ebp - 0x580]
add eax, 0x60
push eax
mov ecx, dword [ebp - 0x580]
add ecx, 0x64
push ecx
lea edx, [ebp - 0x6e0]
push edx
call fcn.1001ad40
add esp, 0x18
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
push eax
lea ecx, [ebp - 0x5b0]
call fcn.10003f10
lea ecx, [ebp - 0x6e0]
call fcn.10003dc0
jmp 0x100191c6
mov dword [ebp - 4], 0xc
jmp 0x100191d6
jmp 0x10019224
mov eax, dword [ebp - 0x580]
add eax, 0x94
push eax
lea ecx, [ebp - 0x588]
push ecx
lea edx, [ebp - 0x58c]
push edx
lea eax, [ebp - 0x6f0]
push eax
call fcn.1001ae50
add esp, 0x10
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x63c]
push ecx
lea ecx, [ebp - 0x5b0]
call fcn.10003f10
lea ecx, [ebp - 0x6f0]
call fcn.10003dc0
lea ecx, [ebp - 0x5b0]
call fcn.10004c90
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5c0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [eax + 4]
call edx
mov dword [ebp - 0x590], eax
push 0x323232
mov eax, dword [ebp - 0x590]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 2
mov ecx, dword [ebp - 0x590]
push ecx
call dword [sym.imp.GDI32.dll_SetBkMode]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov edx, dword [ebp - 0x580]
cmp dword [edx + 0x70], eax
jne 0x100192c6
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x424]
mov dword [eax], ecx
mov edx, dword [ebp - 0x420]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x41c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x418]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + 0x70]
push ecx
mov edx, dword [ebp - 0x590]
push edx
call fcn.10017c70
add esp, 0x18
jmp 0x100198a1
lea eax, [ebp - 0x5c4]
push eax
call dword [sym.imp.dwmapi.dll_DwmIsCompositionEnabled]
test eax, eax
je 0x100192e1
mov dword [ebp - 0x5c4], 0
cmp dword [ebp - 0x5c4], 0
je 0x10019302
call fcn.10016720
movzx ecx, al
test ecx, ecx
je 0x10019302
mov dword [ebp - 0x5c8], 1
jmp 0x1001930c
mov dword [ebp - 0x5c8], 0
mov dl, byte [ebp - 0x5c8]
mov byte [ebp - 0x581], dl
movzx eax, byte [ebp - 0x581]
test eax, eax
je 0x10019699
lea ecx, [ebp - 0x678]
push ecx
mov edx, dword [ebp - 0x588]
push edx
mov eax, dword [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x580]
add ecx, 0xa4
call fcn.1003a6e0
test eax, eax
je 0x10019692
lea ecx, [ebp - 0x680]
push ecx
mov ecx, dword [ebp - 0x580]
add ecx, 0xa4
call fcn.1003a870
mov dword [ebp - 0x598], eax
cmp dword [ebp - 0x598], 0
jne 0x10019597
mov edx, dword [ebp - 0x678]
cmp edx, dword [ebp - 0x58c]
jne 0x100193ab
mov eax, dword [ebp - 0x674]
cmp eax, dword [ebp - 0x588]
jne 0x100193ab
movzx ecx, byte [ebp - 0x582]
test ecx, ecx
je 0x10019592
mov dword [ebp - 0x474], 0x19
mov dword [ebp - 0x44b], 0
mov dword [ebp - 0x44f], 1
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x470], 0
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x468], eax
call fcn.10016740
movzx ecx, al
test ecx, ecx
jne 0x10019462
mov edx, dword [ebp - 0x474]
or edx, 2
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x67c]
sub eax, dword [ebp - 0x588]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x680]
sub eax, dword [ebp - 0x58c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x45c]
add eax, dword [ebp - 0x588]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x460]
add ecx, dword [ebp - 0x58c]
mov dword [ebp - 0x458], ecx
sub esp, 0x30
mov ecx, 0xb
lea esi, [ebp - 0x474]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x580]
add ecx, 0xa4
call fcn.1003a8a0
mov dword [ebp - 0x598], eax
cmp dword [ebp - 0x598], 0
je 0x10019592
lea edx, [ebp - 0x688]
push edx
call fcn.10021350
add esp, 4
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x638]
mov dword [ebp - 0x634], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x634]
call fcn.10004c90
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x598]
push ecx
lea edx, [ebp - 0x4ec]
push edx
call fcn.100164c0
add esp, 8
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
mov dword [ebp - 0x64c], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x64c]
push ecx
push str.GDIGrabber:_Failed_to_update_thumbnail_properties__Error:
lea edx, [ebp - 0x504]
push edx
call fcn.10004bd0
add esp, 0xc
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x11
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6a4], esp
push 0x10087844
mov edx, dword [ebp - 0x610]
push edx
push ecx
call fcn.10004c10
add esp, 0xc
mov eax, dword [ebp - 0x5cc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5cc]
mov eax, dword [edx]
call eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x504]
call fcn.10004100
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4ec]
call fcn.10004100
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x688]
call fcn.10003dc0
mov byte [ebp - 0x581], 0
jmp 0x10019690
lea ecx, [ebp - 0x690]
push ecx
call fcn.10021350
add esp, 4
mov dword [ebp - 0x614], eax
mov edx, dword [ebp - 0x614]
mov dword [ebp - 0x618], edx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x618]
call fcn.10004c90
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x598]
push eax
lea ecx, [ebp - 0x4bc]
push ecx
call fcn.100164c0
add esp, 8
mov dword [ebp - 0x61c], eax
mov edx, dword [ebp - 0x61c]
mov dword [ebp - 0x620], edx
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x620]
push eax
push str.GDIGrabber:_Failed_to_get_thumbnail_size__Error:
lea ecx, [ebp - 0x4d4]
push ecx
call fcn.10004bd0
add esp, 0xc
mov dword [ebp - 0x624], eax
mov edx, dword [ebp - 0x624]
mov dword [ebp - 0x628], edx
mov byte [ebp - 4], 0x14
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x6a8], esp
push 0x10087884
mov ecx, dword [ebp - 0x628]
push ecx
push eax
call fcn.10004c10
add esp, 0xc
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [eax]
call edx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4d4]
call fcn.10004100
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x4bc]
call fcn.10004100
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x690]
call fcn.10003dc0
mov byte [ebp - 0x581], 0
jmp 0x10019699
mov byte [ebp - 0x581], 0
mov ecx, dword [ebp - 0x580]
add ecx, 0xa4
call fcn.10001c40
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + 0x70]
push ecx
call fcn.100181a0
add esp, 4
mov dword [ebp - 0x59c], eax
cmp dword [ebp - 0x59c], 0
je 0x100197e5
movzx edx, byte [ebp - 0x581]
test edx, edx
je 0x1001973a
cmp dword [ebp - 0x5a0], 0
je 0x1001973a
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x424]
mov dword [eax], ecx
mov edx, dword [ebp - 0x420]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x41c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x418]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x5a0]
push eax
mov ecx, dword [ebp - 0x588]
push ecx
mov edx, dword [ebp - 0x58c]
push edx
mov eax, dword [ebp - 0x590]
push eax
call fcn.10017c00
add esp, 0x20
jmp 0x100197d3
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x424]
mov dword [ecx], edx
mov eax, dword [ebp - 0x420]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x41c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x418]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x580]
mov edx, dword [ecx + 0x70]
push edx
mov eax, dword [ebp - 0x590]
push eax
call fcn.10017c70
add esp, 0x18
imul ecx, dword [ebp - 0x420], 0xffffffff
push ecx
imul edx, dword [ebp - 0x424], 0xffffffff
push edx
mov eax, dword [ebp - 0x59c]
push eax
call dword [sym.imp.GDI32.dll_OffsetRgn]
push 0xb4b4b4
push 2
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d4]
push ecx
mov edx, dword [ebp - 0x59c]
push edx
mov eax, dword [ebp - 0x590]
push eax
call dword [sym.imp.GDI32.dll_FillRgn]
mov ecx, dword [ebp - 0x5d4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x59c]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x100198a1
movzx eax, byte [ebp - 0x581]
test eax, eax
je 0x10019860
cmp dword [ebp - 0x5a0], 0
je 0x10019860
mov ecx, dword [ebp - 0x580]
mov edx, dword [ecx + 0x70]
push edx
call fcn.10018690
add esp, 4
movzx eax, al
test eax, eax
jne 0x10019860
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x424]
mov dword [ecx], edx
mov eax, dword [ebp - 0x420]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x41c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x418]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x5a0]
push ecx
mov edx, dword [ebp - 0x588]
push edx
mov eax, dword [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x590]
push ecx
call fcn.10017c00
add esp, 0x20
jmp 0x100198a1
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x424]
mov dword [edx], eax
mov ecx, dword [ebp - 0x420]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x41c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x418]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x580]
mov eax, dword [edx + 0x70]
push eax
mov ecx, dword [ebp - 0x590]
push ecx
call fcn.10017c70
add esp, 0x18
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x424]
mov dword [edx], eax
mov ecx, dword [ebp - 0x420]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x41c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x418]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x588]
push edx
mov eax, dword [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x590]
push ecx
call fcn.100184b0
add esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x424]
mov dword [edx], eax
mov ecx, dword [ebp - 0x420]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x41c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x418]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x590]
push edx
call fcn.10017600
add esp, 0x14
lea ecx, [ebp - 0x5b0]
call fcn.10004c90
mov dword [ebp - 0x5d8], eax
lea eax, [ebp - 0x698]
push eax
mov ecx, dword [ebp - 0x5d8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x5d8]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x62c]
push ecx
mov ecx, dword [ebp - 0x580]
add ecx, 0x74
call fcn.10003f10
lea ecx, [ebp - 0x698]
call fcn.10003dc0
mov edx, dword [ebp - 0x580]
mov eax, dword [edx + 0xf4]
add eax, 1
mov ecx, dword [ebp - 0x580]
mov dword [ecx + 0xf4], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5b0]
call fcn.10003dc0
mov ecx, dword [ebp - 0x580]
add ecx, 0x68
call fcn.1003ae50
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6ac], esp
mov edx, dword [ebp - 0x580]
add edx, 0x74
push edx
call fcn.10003f50
mov ecx, dword [ebp + 8]
call fcn.1002d260
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x5dc]
or eax, 1
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10052d14
mov esp, ebp
pop ebp
ret 4