Function at 0x5c213e
Capabilities:
Hide graphical window

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x601572
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x80
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x78], eax
mov edi, ecx
mov dword [ebp - 0x84], edi
cmp dword [edi + 0x1c0], 0
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x38], edx
jne 0x5c1d7b
mov eax, edx
test eax, eax
je 0x5c3c5c
jmp 0x5c3c59
mov edx, dword [ebx + 8]
cmp edx, 0x102
ja 0x5c3014
je 0x5c2f89
lea eax, [edx - 3]
cmp eax, 0xa0
ja case.0x5c399c.531
movzx eax, byte [eax + 0x5c3cd4]
jmp dword [eax*4 + 0x5c3c80]
mov esi, dword [ebp - 0x78]
cmp esi, dword [edi + 0x230]
jne case.0x5c399c.531
cmp dword [edi + 0x24c], 0
jne 0x5c1dd1
cmp dword [edi + 0x250], 0
je case.0x5c399c.531
cmp dword [edi + 0x254], 0
jbe 0x5c3c5c
push 0x81
push ecx
push esi
call dword [sym.imp.USER32.dll_GetDCEx]
add edi, 0x120
mov dword [ebp - 0x38], eax
push edi
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x84]
push dword [eax + 0x258]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
push esi
push edi
mov edi, dword [ebp - 0x38]
push edi
call dword [sym.imp.USER32.dll_FillRect]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x78]
push edi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x5c3c5c
cmp dword [edi + 0x24c], 0
je case.0x5c399c.531
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [edi + 0x230]
jne case.0x5c399c.531
test esi, esi
je 0x5c3c5c
cmp dword [ebp - 0x7c], 0
je 0x5c1eea
mov eax, dword [ebp - 0x8c]
mov esi, dword [esi + 8]
movups xmm0, xmmword [eax]
mov ecx, dword [eax]
mov edi, dword [eax + 0xc]
mov edx, dword [eax + 4]
movups xmmword [eax + 0x10], xmm0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x80], edx
mov eax, dword [eax + 0x254]
add eax, ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x254]
add eax, edx
mov edx, edi
mov dword [edx + 4], eax
mov eax, esi
mov edx, dword [ebp - 0x84]
sub esi, ecx
sub eax, dword [edx + 0x254]
mov dword [edi + 8], eax
mov edi, dword [ebp - 0x38]
mov eax, edi
sub eax, dword [edx + 0x254]
mov edx, dword [ebp - 0x8c]
mov ecx, edx
sub edi, dword [ebp - 0x80]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 0x30]
mov dword [eax + 0x10], esi
mov eax, dword [ecx + 0x30]
mov dword [eax + 0x14], edi
mov eax, 0x700
jmp 0x5c3c5e
mov eax, dword [edi + 0x254]
add dword [esi], eax
mov eax, dword [edi + 0x254]
add dword [esi + 4], eax
mov eax, dword [edi + 0x254]
sub dword [esi + 8], eax
mov eax, dword [edi + 0x254]
sub dword [esi + 0xc], eax
jmp 0x5c3c5c
mov esi, dword [ebp - 0x78]
cmp esi, dword [edi + 0x230]
jne case.0x5c399c.531
test cx, cx
je 0x5c1fa1
cmp dword [edi + 0x40], 1
jle 0x5c1f92
mov esi, 1
push esi
mov ecx, edi
call fcn.005bc180
test al, al
je 0x5c1f89
mov eax, dword [edi + 0x268]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
lea edx, [eax + ecx*8]
mov ecx, dword [edx]
cmp ecx, 0x22
jne 0x5c1f66
push 1
push 0
push dword [edi + 0x268]
mov ecx, edi
call fcn.005b96f0
jmp 0x5c1f89
call fcn.005c8450
test al, al
je 0x5c1f89
mov eax, dword [edx + 0x44]
test eax, eax
je 0x5c1f89
mov ecx, dword [eax + 0x14]
cmp dword [edx + 0x1c], ecx
je 0x5c1f89
push ecx
push dword [eax + 4]
mov ecx, edi
call fcn.005bec70
inc esi
cmp esi, dword [edi + 0x40]
jl 0x5c1f31
mov esi, dword [ebp - 0x78]
mov eax, dword [edi + 0x230]
mov dword [ebp - 0x80], 0xffffffed
jmp 0x5c1faa
mov dword [ebp - 0x80], 0xffffffec
xor eax, eax
push eax
mov ecx, edi
call fcn.005c1cc0
push 0
push 0
push esi
push dword [ebx + 8]
mov ecx, edi
push dword [ebp - 0x80]
call fcn.005b8c00
mov dword [edi + 0x268], 0
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x78]
push 0
push dword [ebp - 0x7c]
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffee
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x78]
push 0
push dword [ebp - 0x7c]
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffe5
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x78]
push 0
push dword [ebp - 0x7c]
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffe4
call fcn.005b8c00
mov eax, 1
jmp 0x5c3c5e
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push 0
push 0
push 0xcae
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push dword [ebp - 0x7c]
mov ecx, edi
call fcn.005c5780
mov esi, eax
mov ecx, edi
push esi
call fcn.005bc180
test al, al
jne 0x5c209d
xor esi, esi
jmp 0x5c20a3
mov dword [edi + 0x268], esi
mov ecx, dword [ebp - 0x78]
push 0
push esi
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffea
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, dword [ebp - 0x78]
push 0
push esi
push ecx
push edx
push 0xffffffffffffffe1
mov ecx, edi
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, dword [ebp - 0x78]
push 0
push 0
push ecx
push edx
push 0xffffffffffffffe1
mov ecx, edi
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, dword [ebp - 0x78]
push 0
push 0
push ecx
push edx
push 0xffffffffffffffe7
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
test ecx, ecx
je 0x5c211f
cmp ecx, 2
je 0x5c211f
mov ecx, dword [ebp - 0x78]
push 0
push 0
push ecx
push edx
push 0xfffffffffffffffc
mov ecx, edi
call fcn.005b8c00
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x78]
push 0
push ecx
mov ecx, edi
call fcn.005c4bc0
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov eax, dword [esi + 4]
mov ecx, edi
push eax
mov dword [ebp - 0x88], eax
call fcn.005bc180
test al, al
je 0x5c3c5c
mov eax, dword [esi + 8]
cmp eax, 0xfffffffe
je 0x5c2175
cmp eax, 0xfffffffc
jne 0x5c21f6
mov edx, dword [ebp - 0x88]
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
cmp dword [eax + ecx*8], 0x1f
jne 0x5c21cb
mov eax, dword [ebp - 0x8c]
lea ecx, [edi + 0x110]
add eax, 0x7c
push eax
call fcn.005dc510
lea ecx, [edi + 0x110]
call fcn.005dc190
mov ecx, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x8c]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x88]
push ecx
push dword [ebx + 8]
mov ecx, edi
push eax
call fcn.005b8c00
jmp 0x5c3c5c
cmp dword [esi + 8], 0xfffffffe
jne 0x5c21fc
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
cmp dword [eax + ecx*8], 0x1b
jne 0x5c21fc
mov ecx, dword [ebp - 0x78]
push 0
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push dword [esi + 0xc]
call fcn.005b8c00
jmp 0x5c3c5c
mov edx, dword [ebp - 0x88]
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
mov ecx, dword [eax + ecx*8]
mov eax, dword [esi + 8]
cmp ecx, 0x1b
jne 0x5c222e
cmp eax, 0xfffffd3a
jne 0x5c222e
mov ecx, dword [ebp - 0x78]
push 0
push dword [esi + 0xc]
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffea
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffffd
jne 0x5c224b
mov ecx, dword [ebp - 0x78]
push 0
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xfffffffffffffff2
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffffc
jne 0x5c2268
mov ecx, dword [ebp - 0x78]
push 0
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffe6
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffff9
jne 0x5c227f
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
jmp 0x5c3c5c
cmp ecx, 0x19
jne 0x5c23f1
mov eax, dword [esi + 8]
cmp eax, 0xfffffdd8
jne 0x5c22f6
push 0
push 0
push 0x130b
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x5c3c5c
push eax
push dword [esi]
call fcn.005bc120
mov esi, eax
test esi, esi
je 0x5c3c5c
push esi
mov ecx, edi
call fcn.005bc180
test al, al
je 0x5c3c5c
mov eax, dword [edi + 0x3c]
lea ecx, [esi + esi*8]
push 0
push esi
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x78]
push ecx
push dword [ebx + 8]
mov ecx, edi
mov dword [edi + 0x240], eax
push 0xffffffffffffffdd
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffdd9
jne 0x5c3c5c
push 0
push 0
push 0x130b
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x5c3c5c
push eax
push dword [esi]
call fcn.005bc120
mov dword [ebp - 0x38], eax
test eax, eax
je 0x5c3c5c
push eax
mov ecx, edi
call fcn.005bc180
test al, al
je 0x5c3c5c
mov eax, dword [ebp - 0x8c]
lea esi, [edi + 0x120]
push esi
push dword [eax]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x8c]
push esi
push 0
push 0x1328
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x8c]
push 2
push esi
push dword [eax]
call dword [sym.imp.USER32.dll_GetParent]
push eax
mov eax, dword [ebp - 0x8c]
push dword [eax]
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ecx, dword [edi + 0x124]
mov eax, dword [edi + 0x12c]
mov edx, dword [esi]
sub eax, ecx
mov esi, dword [ebp - 0x38]
push 0x40
push eax
mov eax, dword [edi + 0x128]
sub eax, edx
push eax
mov eax, dword [edi + 0x3c]
push ecx
push edx
push 0
lea ecx, [esi + esi*8]
push dword [eax + ecx*8 + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 0x240]
test eax, eax
je 0x5c23cf
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x78]
push 0
push esi
push ecx
push dword [ebx + 8]
mov ecx, edi
mov dword [edi + 0x240], 0
push 0xffffffffffffffdc
call fcn.005b8c00
jmp 0x5c3c5c
cmp ecx, 0xf
jne 0x5c289a
mov eax, dword [esi + 8]
cmp eax, 0xffffff98
je 0x5c3c5c
cmp eax, 0xffffff50
jne 0x5c243c
push 1
push dword [esi + 0x20]
lea ecx, [edi + 0x110]
call fcn.005dc260
push dword [esi + 0x10]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
push eax
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffcb
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xffffff99
jne 0x5c246c
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x5c2454
push ecx
call fcn.00401f00
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
push 0
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffcf
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xffffff94
jne 0x5c24ae
mov eax, dword [edi + 0x3c]
mov ecx, dword [esi + 0x10]
lea esi, [edx + edx*8]
test byte [eax + esi*8 + 0x44], 1
je 0x5c2497
mov eax, dword [ebp - 0x8c]
mov edx, ecx
push 0
mov ecx, dword [eax]
call fcn.005c8de0
jmp 0x5c3c5c
push ecx
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffca
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xffffff9c
jne 0x5c254b
push 8
mov ecx, edi
call fcn.005c61d0
test al, al
je 0x5c3c5c
test byte [esi + 0x14], 2
je 0x5c3c5c
test byte [esi + 0x18], 2
jne 0x5c3c5c
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x5c3c5c
push 1
lea eax, [ebp - 0x1c]
push eax
push dword [esi]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
push 0xffffffffffffffff
push 0x1012
push dword [esi]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call dword [sym.imp.USER32.dll_SendMessageW]
test dword [ebp - 0x2c], 0x10000000
jne 0x5c2043
jmp 0x5c3c5c
cmp eax, 0xffffff9b
jne 0x5c2611
mov eax, dword [esi + 0x18]
mov ecx, eax
and ecx, 2
test byte [esi + 0x14], 2
je 0x5c257f
test ecx, ecx
jne 0x5c259c
push dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffd3
call fcn.005b8c00
jmp 0x5c3c5c
test ecx, ecx
je 0x5c259c
push dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffd2
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, dword [esi + 0x14]
test cl, 1
jne 0x5c25c1
test al, 1
je 0x5c25c1
push dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffcc
call fcn.005b8c00
jmp 0x5c3c5c
test ecx, 0x2000
je 0x5c25ed
test eax, 0x2000
jne 0x5c3c5c
push dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffd1
call fcn.005b8c00
jmp 0x5c3c5c
test eax, 0x2000
je 0x5c3c5c
push dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffd0
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xffffff4c
je 0x5c2868
cmp eax, 0xffffff4b
je 0x5c2868
cmp eax, 0xfffffff4
jne 0x5c3c5c
mov eax, dword [esi + 0xc]
cmp eax, 1
je 0x5c299a
cmp eax, 0x10001
jne 0x5c2761
cmp dword [esi + 0x3c], 0
jne 0x5c3c5c
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x80], edi
test edi, edi
je 0x5c3c5c
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x5c267e
cmp dword [edi], 0xffffffff
jne 0x5c267e
cmp dword [edi + 0x10], eax
jne 0x5c267e
cmp dword [edi + 4], 0xffffffff
jne 0x5c267e
mov dword [ebp - 0x84], eax
jmp 0x5c26a0
mov dword [ebp - 0x84], 1
test eax, eax
je 0x5c26a0
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x84], 1
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x5c26aa
mov dword [esi + 0x30], eax
cmp dword [edi + 0x10], 0
je 0x5c2739
push 1
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 8]
test eax, eax
je 0x5c26d4
push eax
lea eax, [esi + 0x14]
push eax
push dword [esi + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
mov ecx, dword [edi + 0x10]
mov esi, dword [esi + 0x18]
call fcn.00401940
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x38], 0
mov ecx, dword [edi + 0x20]
sub ecx, esi
sub ecx, eax
lea eax, [ebp - 0x38]
shr ecx, 1
push eax
push dword [edi + 0x10]
add ecx, esi
mov dword [ebp - 0x88], ecx
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov ecx, dword [edi + 0x14]
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x38]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x5c271f
mov eax, dword [eax + 4]
jmp 0x5c2721
xor eax, eax
push dword [ebp - 0x88]
push ecx
push eax
push esi
call dword [sym.imp.gdiplus.dll_GdipDrawImageI]
push esi
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
jmp 0x5c2744
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
je 0x5c2744
mov dword [esi + 0x34], eax
cmp dword [edi + 0x14], 0
je 0x5c2754
cmp dword [edi + 0x18], 0
jne 0x5c299a
mov eax, dword [ebp - 0x84]
add eax, eax
jmp 0x5c3c5e
cmp eax, 0x30001
jne 0x5c3c5c
cmp dword [esi + 0x3c], 0
jne 0x5c3c5c
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x5c3c5c
mov eax, dword [esi + 0x38]
test eax, eax
js 0x5c3c5c
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x5c3c5c
cmp eax, dword [ecx + 0x18]
jg 0x5c3c5c
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, dword [edi]
mov dword [esi + 0x30], eax
cmp dword [edi + 0x10], 0
je 0x5c2843
push 1
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 8]
test eax, eax
je 0x5c27d5
push eax
lea eax, [esi + 0x14]
push eax
push dword [esi + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
mov ecx, dword [edi + 0x10]
mov esi, dword [esi + 0x18]
call fcn.00401940
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x38], 0
mov ecx, dword [ecx + 0x20]
sub ecx, esi
sub ecx, eax
lea eax, [ebp - 0x38]
shr ecx, 1
add ecx, esi
mov esi, dword [ebp - 0x8c]
push eax
mov dword [ebp - 0x80], ecx
push dword [esi + 0x10]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov ecx, dword [esi + 0x14]
mov eax, dword [edi + 0x10]
add ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x84], edx
test eax, eax
je 0x5c2829
mov eax, dword [eax + 4]
jmp 0x5c282b
xor eax, eax
push dword [ebp - 0x80]
push ecx
push eax
push edx
call dword [sym.imp.gdiplus.dll_GdipDrawImageI]
push dword [ebp - 0x84]
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov eax, dword [edi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5c3c5c
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, 2
jmp 0x5c3c5e
movzx ecx, word [esi + 0x10]
movzx eax, word [esi + 0xc]
shl ecx, 0x10
or ecx, eax
xor eax, eax
cmp dword [esi + 8], 0xffffff4c
push ecx
mov ecx, dword [ebp - 0x78]
sete al
push edx
push ecx
push dword [ebx + 8]
add eax, 0xffffffcd
mov ecx, edi
push eax
call fcn.005b8c00
jmp case.0x5c399c.531
cmp ecx, 0x1d
jne 0x5c3c5c
mov eax, dword [esi + 8]
cmp eax, 0xfffffe36
jne 0x5c28e2
push dword [esi + 0x14]
mov ecx, dword [ebp - 0x78]
mov eax, dword [esi + 0x34]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
mov dword [ebp - 0x38], eax
push 0xffffffffffffffc4
call fcn.005b8c00
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x5c3c5c
push 0xc
push eax
call fcn.0041e7c1
add esp, 8
jmp 0x5c3c5c
cmp eax, 0xfffffe60
je 0x5c2a12
cmp eax, 0xfffffe5f
je 0x5c2a12
cmp eax, 0xfffffe5e
je 0x5c29f9
cmp eax, 0xfffffe5d
je 0x5c29f9
cmp eax, 0xfffffe3a
jne 0x5c2938
push dword [esi + 0x3c]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
shr eax, 1
mov ecx, edi
and eax, 1
or eax, 0xffffffc8
push eax
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffe3d
jne 0x5c2958
push dword [esi + 0x3c]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffc7
call fcn.005b8c00
jmp 0x5c3c5c
cmp eax, 0xfffffffb
jne 0x5c2989
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 8
push 0x110a
push dword [esi]
call edi
test eax, eax
je 0x5c3c5c
push eax
push 9
push 0x110b
push dword [esi]
call edi
jmp 0x5c3c5c
cmp eax, 0xfffffff4
jne 0x5c3c5c
mov eax, dword [esi + 0xc]
cmp eax, 1
jne 0x5c29a4
mov eax, 0x20
jmp 0x5c3c5e
cmp eax, 0x10001
jne 0x5c3c5c
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x5c3c5c
test byte [esi + 0x28], 0x10
jne 0x5c29d5
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x5c29ca
mov dword [esi + 0x30], ecx
mov ecx, dword [eax + 4]
cmp ecx, 0xffffffff
je 0x5c29d5
mov dword [esi + 0x34], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5c3c5c
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5c29ef
push ecx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, 2
jmp 0x5c3c5e
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffc5
call fcn.005b8c00
jmp 0x5c3c5c
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
test byte [eax + ecx*8 + 0x44], 1
je 0x5c2af7
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x100
je 0x5c2af1
push dword [esi + 0x10]
push 4
push 0x110a
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x5c3c5c
mov ecx, dword [esi + 0x14]
xorps xmm0, xmm0
push 0
push 0
push 0xb
push dword [esi]
mov dword [ebp - 0x74], 8
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], 0xf000
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebp - 0x38]
lea eax, [ebp - 0x74]
mov dword [ebp - 0x70], edi
push eax
push 0
push 0x113f
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
push edi
push 1
push 0x110a
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
test edi, edi
jne 0x5c2ab2
push eax
push 1
push 0xb
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
push dword [esi + 0x10]
mov ecx, dword [ebp - 0x78]
push edx
push ecx
push dword [ebx + 8]
mov ecx, edi
push 0xffffffffffffffc6
call fcn.005b8c00
jmp 0x5c3c5c
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], eax
mov eax, dword [edi + 0x220]
test eax, eax
je 0x5c2baf
mov ecx, dword [ebp - 0x78]
cmp dword [ebp - 0x7c], ecx
jne 0x5c2bac
cmp si, 1
jne 0x5c2bac
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x84], 1
xor esi, esi
push esi
mov ecx, edi
call fcn.005bc180
xor esi, esi
test al, al
mov eax, dword [edi + 0x268]
cmovne esi, dword [ebp - 0x80]
cmp eax, esi
je 0x5c2c95
test eax, eax
je 0x5c2c50
push eax
call fcn.005bc180
test al, al
je 0x5c2c50
mov edx, dword [edi + 0x268]
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
lea eax, [eax + ecx*8]
mov ecx, dword [eax]
mov dword [ebp - 0x80], eax
cmp ecx, 0x22
jne 0x5c2c2a
push 1
push 0
push edx
mov ecx, edi
call fcn.005b96f0
jmp 0x5c2c50
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x5c2b48
push ecx
mov ecx, edi
call fcn.005c5780
mov esi, eax
mov dword [ebp - 0x80], esi
test esi, esi
je 0x5c2b4a
push esi
mov ecx, edi
call fcn.005bc180
test al, al
je 0x5c2b4a
mov eax, dword [edi + 0x3c]
lea ecx, [esi + esi*8]
cmp dword [eax + ecx*8], 0x22
lea eax, [eax + ecx*8]
mov dword [ebp - 0x88], eax
jne 0x5c2c09
push esi
mov ecx, edi
call fcn.005b97f0
cmp eax, 3
jle 0x5c2c03
xor eax, eax
mov dword [ebp - 0x84], eax
jmp 0x5c2b4a
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x5c2b4a
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x84], 1
jmp 0x5c2b4a
call fcn.005c8450
test al, al
je 0x5c2c50
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x44]
test eax, eax
je 0x5c2c50
mov edx, dword [eax + 0x14]
cmp dword [ecx + 0x1c], edx
je 0x5c2c50
push edx
push dword [eax + 4]
mov ecx, edi
call fcn.005bec70
test esi, esi
je 0x5c2c95
mov eax, dword [edi + 0x3c]
lea ecx, [esi + esi*8]
lea edx, [eax + ecx*8]
mov ecx, dword [edx]
cmp ecx, 0x22
jne 0x5c2c72
push 1
push 1
push esi
mov ecx, edi
call fcn.005b96f0
jmp 0x5c2c95
call fcn.005c8450
test al, al
je 0x5c2c95
mov eax, dword [edx + 0x44]
test eax, eax
je 0x5c2c95
mov ecx, dword [eax + 0x18]
cmp dword [edx + 0x1c], ecx
je 0x5c2c95
push ecx
push dword [eax + 4]
mov ecx, edi
call fcn.005bec70
push 0
push esi
push dword [ebp - 0x78]
mov ecx, edi
mov dword [edi + 0x268], esi
push dword [ebx + 8]
push 0xffffffffffffffeb
call fcn.005b8c00
mov eax, dword [ebp - 0x84]
test eax, eax
je case.0x5c399c.531
jmp 0x5c3c5e
mov edx, dword [edi + 0x144]
mov ecx, dword [edi + 0x140]
lea eax, [ecx + edx]
test eax, eax
je 0x5c2cd9
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov edx, dword [edi + 0x14c]
mov ecx, dword [edi + 0x148]
lea eax, [ecx + edx]
test eax, eax
je 0x5c3c5c
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
jmp 0x5c3c5c
mov eax, dword [ebp - 0x78]
cmp eax, dword [edi + 0x230]
jne 0x5c3c5c
test esi, esi
je 0x5c3c5c
test byte [esi + 0x18], 2
jne 0x5c3c5c
push dword [esi + 0xc]
mov ecx, edi
push dword [esi + 8]
push eax
call fcn.005c55c0
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
test esi, esi
je 0x5c3c5c
test byte [esi + 0x18], 1
jne 0x5c3c5c
push 0
push dword [ebp - 0x78]
mov ecx, edi
call fcn.005c4bc0
cmp dword [edi + 0x204], 2
jne 0x5c3a3b
push 1
push 0
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x5c3a3b
cmp dword [edi + 0x204], 3
je case.0x5c399c.531
cmp dword [edi + 0x1fc], 0
je 0x5c2043
cmp dword [edi + 0x3c], 0
je 0x5c2f07
cmp dword [edi + 0x40], 1
mov dword [ebp - 0x38], 1
jl 0x5c2f07
mov esi, 0x48
mov dword [ebp - 0x84], esi
nop dword [eax]
mov eax, dword [edi + 0x3c]
cmp dword [eax + esi + 0xc], 0
je 0x5c2eee
mov edx, dword [eax + esi + 4]
test edx, edx
je 0x5c2eee
test dword [eax + esi + 0x3c], 0x400
je 0x5c2eee
mov ecx, dword [eax + esi]
cmp ecx, 0x1e
je 0x5c2eee
cmp ecx, 0x1c
je 0x5c2eee
cmp dword [eax + esi + 0x20], 0xfffffffe
je 0x5c2eee
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x5c2eee
mov eax, dword [edi + 0x3c]
push dword [eax + esi + 4]
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, dword [edi + 0x230]
jne 0x5c2eee
lea eax, [edi + 0x120]
push eax
mov eax, dword [edi + 0x3c]
push dword [eax + esi + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x5c2eee
push 2
lea eax, [edi + 0x120]
push eax
push dword [ebp - 0x78]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ecx, dword [edi + 0x3c]
mov eax, dword [ecx + esi]
cmp eax, 0xa
je 0x5c2e9a
cmp eax, 0x20
jne 0x5c2e77
cmp dword [ecx + esi + 0x40], 0
jne 0x5c2e9a
push dword [edi + 0x12c]
push dword [edi + 0x128]
push dword [edi + 0x124]
push dword [edi + 0x120]
push dword [ebp - 0x7c]
call dword [sym.imp.GDI32.dll_ExcludeClipRect]
jmp 0x5c2eee
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov ecx, dword [edi + 0x3c]
mov esi, eax
mov eax, dword [ebp - 0x84]
push esi
push dword [ecx + eax + 4]
call dword [sym.imp.USER32.dll_GetWindowRgn]
test eax, eax
je 0x5c2ee1
push dword [edi + 0x124]
push dword [edi + 0x120]
push esi
call dword [sym.imp.GDI32.dll_OffsetRgn]
push 4
push esi
push dword [ebp - 0x7c]
call dword [sym.imp.GDI32.dll_ExtSelectClipRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x38]
add esi, 0x48
inc eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x38], eax
cmp eax, dword [edi + 0x40]
jle 0x5c2dc0
lea esi, [edi + 0x120]
push esi
push dword [ebp - 0x78]
call dword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
je 0x5c2f74
cmp dword [edi + 0x204], 2
jne 0x5c2f64
mov esi, dword [ebp - 0x7c]
push 4
push esi
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
push 0xcc0020
push dword [edi + 0x21c]
push dword [edi + 0x218]
push 0
push 0
push dword [edi + 0x1e8]
push dword [edi + 0x12c]
push dword [edi + 0x128]
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x5c2f74
push dword [edi + 0x1fc]
push esi
push dword [ebp - 0x7c]
call dword [sym.imp.USER32.dll_FillRect]
push 0
push dword [ebp - 0x7c]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
mov eax, 1
jmp 0x5c3c5e
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push esi
push dword [ebp - 0x7c]
mov esi, dword [ebx + 8]
mov ecx, edi
push dword [ebp - 0x78]
push esi
push 0xffffff37
call fcn.005b8c00
mov ecx, dword [ebp - 0x7c]
jmp 0x5c2fb4
mov esi, edx
test ecx, ecx
je 0x5c2fc8
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x7c]
push 0
xor eax, eax
test ecx, ecx
push 0
push dword [ebp - 0x78]
setne al
mov ecx, edi
push esi
add eax, 0xffffffe2
push eax
call fcn.005b8c00
mov eax, dword [ebp - 0x78]
cmp eax, dword [edi + 0x230]
jne case.0x5c399c.531
cmp dword [edi + 0x24c], 0
jne 0x5c3007
cmp dword [edi + 0x250], 0
je case.0x5c399c.531
xor eax, eax
cmp dword [ebp - 0x7c], eax
sete al
jmp 0x5c3c5e
cmp edx, 0x211
ja 0x5c397f
je 0x5c3968
lea eax, [edx - 0x110]
cmp eax, 0xfa
ja case.0x5c399c.531
movzx eax, byte [eax + 0x5c3db8]
jmp dword [eax*4 + 0x5c3d78]
push 0
push ecx
push dword [ebp - 0x78]
mov ecx, edi
push edx
push 0xfffffffffffffff5
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push 0
push dword [ebp - 0x7c]
mov ecx, edi
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xfffffffffffffff4
call fcn.005b8c00
jmp case.0x5c399c.531
push 0
push ecx
push dword [ebp - 0x78]
mov ecx, edi
push edx
push 0xfffffffffffffff3
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push 0
push dword [edi + 0x268]
mov ecx, edi
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xfffffffffffffff2
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push 0
push dword [edi + 0x268]
mov ecx, edi
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xfffffffffffffff1
call fcn.005b8c00
jmp case.0x5c399c.531
push 0
push ecx
push dword [ebp - 0x78]
mov ecx, edi
push edx
push 0xffffffffffffffef
call fcn.005b8c00
jmp case.0x5c399c.531
push esi
push ecx
push edx
push dword [ebp - 0x78]
call dword [sym.imp.USER32.dll_DefDlgProcW]
jmp 0x5c3c5e
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
sub esp, 0x28
mov ecx, edi
call fcn.005c3ee0
mov eax, dword [ebp - 0x7c]
cmp eax, 0xf120
jne 0x5c3135
mov eax, 0xfffffff8
jmp 0x5c3176
cmp eax, 0xf030
jne 0x5c3143
mov eax, 0xfffffff7
jmp 0x5c3176
cmp eax, 0xf020
jne 0x5c3151
mov eax, 0xfffffff9
jmp 0x5c3176
cmp eax, 0xf060
jne 0x5c3166
push 0
push 0
push 0xcae
jmp 0x5c3c4a
cmp eax, 0xf010
jne case.0x5c399c.531
mov eax, 0xffffffe8
push 0
push 0
push dword [ebp - 0x78]
mov ecx, edi
push dword [ebx + 8]
push eax
call fcn.005b8c00
jmp case.0x5c399c.531
movsx ecx, si
shr esi, 0x10
push 0
movsx eax, si
mov dword [edi + 0x260], eax
mov eax, dword [ebp - 0x7c]
push eax
push dword [ebp - 0x78]
mov dword [edi + 0x25c], ecx
mov ecx, edi
push edx
push 0xfffffffffffffff0
mov dword [edi + 0x264], eax
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [ebp - 0x78]
mov ecx, edi
call fcn.005c1cc0
movsx ecx, si
shr esi, 0x10
movsx eax, si
mov esi, dword [ebp - 0x78]
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_ChildWindowFromPoint]
test eax, eax
je 0x5c3273
push eax
mov ecx, edi
call fcn.005c5780
push eax
mov ecx, edi
mov dword [ebp - 0x80], eax
call fcn.005bc180
test al, al
je 0x5c3273
mov eax, dword [ebp - 0x80]
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x3c]
test dword [eax + ecx*8 + 0x3c], 0x1000
je 0x5c3273
cmp dword [edi + 0x24c], 0
je 0x5c324c
mov eax, dword [edi + 0x158]
lea ecx, [edi + 0x120]
mov dword [ecx], 0
mov dword [ecx + 4], 0
push 1
mov dword [ecx + 8], eax
push ecx
mov dword [ecx + 0xc], 0x32
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [edi + 0x1c0]
movzx ecx, word [eax + 0x2c]
movzx eax, word [eax + 0x28]
shl ecx, 0x10
or ecx, eax
push ecx
push 2
push 0xa1
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push esi
push dword [ebx + 8]
mov ecx, edi
push 0xfffffffffffffff6
call fcn.005b8c00
jmp case.0x5c399c.531
movzx eax, cx
mov edx, 1
shr ecx, 0x10
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x18], edx
cmp dx, cx
jne 0x5c32af
mov byte [ebp - 0x8d], dl
test esi, esi
je 0x5c32b6
mov byte [ebp - 0x8d], 0
movzx eax, ax
mov ecx, edi
push eax
mov dword [ebp - 0x80], eax
call fcn.005bc180
test al, al
je case.0x5c399c.531
mov edx, dword [ebp - 0x80]
mov eax, dword [edi + 0x3c]
lea ecx, [edx + edx*8]
mov ecx, dword [eax + ecx*8]
cmp ecx, 5
je 0x5c3647
cmp ecx, 6
je 0x5c3647
cmp ecx, 9
je 0x5c35a5
cmp ecx, 0xc
je 0x5c35a5
mov dl, byte [ebp - 0x8d]
mov eax, dword [ebp - 0x7c]
test dl, dl
jne 0x5c333e
cmp word [ebp - 0x18], ax
jne 0x5c333e
cmp ecx, 0x13
je 0x5c331e
cmp ecx, 0xd
je 0x5c331e
cmp ecx, 0xb
jne 0x5c334f
mov eax, dword [ebp - 0x88]
mov ecx, edi
push 0
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xfffffffffffffff2
call fcn.005b8c00
jmp 0x5c3c5c
mov dword [ebp - 0x18], 0
cmp word [ebp - 0x18], ax
je 0x5c337f
test dl, dl
jne 0x5c337f
cmp ecx, 0x23
jne 0x5c3363
mov edx, 1
cmp dx, ax
je 0x5c337f
jmp 0x5c3c5c
cmp ecx, 0x25
je 0x5c3354
cmp ecx, 0x22
jne 0x5c3c5c
mov edx, 1
cmp dx, ax
jne 0x5c3c5c
mov edx, dword [ebp - 0x88]
movzx esi, dx
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x8c]
cmp ecx, 0x22
jne 0x5c33aa
push 0x80
push dword [ebp - 0x38]
mov ecx, edi
call fcn.005bd3f0
jmp 0x5c3581
mov esi, dword [ebp - 0x38]
lea esi, [esi + esi*8]
shl esi, 3
mov dword [ebp - 0x80], esi
mov esi, dword [edi + 0x3c]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x8c]
cmp ecx, 0x23
jne 0x5c3418
mov eax, dword [ebp - 0x80]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + eax + 0x44]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x5c3c5c
xor eax, eax
cmp dword [ecx + 8], 4
mov ecx, edi
sete al
lea eax, [eax*4 + 4]
push eax
movzx eax, dx
push eax
call fcn.005bd3f0
mov eax, dword [ebp - 0x7c]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x18]
push dword [ebx + 8]
push dword [eax + 4]
call fcn.005b8c00
jmp 0x5c3c5c
cmp ecx, 0x24
jne 0x5c346b
mov esi, dword [edi + 0x3c]
mov ecx, dword [ebp - 0x80]
mov ecx, dword [esi + ecx + 0x44]
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x5c3c5c
cmp dword [ecx + 8], 4
je 0x5c3451
push 4
movzx eax, dx
mov ecx, edi
push eax
call fcn.005bd3f0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x18]
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push dword [ecx + 4]
mov ecx, edi
call fcn.005b8c00
jmp 0x5c3c5c
mov esi, dword [ebp - 0x80]
add esi, dword [ebp - 0x18]
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x8c]
cmp ecx, 0x25
jne 0x5c34ce
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
je 0x5c34b3
cmp byte [ecx + 0xc], 0
je 0x5c34b3
xor eax, eax
cmp dword [ecx], 4
mov ecx, edi
sete al
lea eax, [eax*4 + 4]
push eax
movzx eax, dx
push eax
call fcn.005bd3f0
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x88]
push esi
movzx eax, ax
mov ecx, edi
push eax
push dword [ebp - 0x78]
movzx eax, dx
push dword [ebx + 8]
push eax
call fcn.005b8c00
jmp 0x5c3581
mov edx, dword [ebp - 0x38]
test dword [edx + 0x3c], 0x1000
je 0x5c353e
cmp dword [edi + 0x24c], 0
je 0x5c3515
mov eax, dword [edi + 0x158]
lea ecx, [edi + 0x120]
mov dword [ecx], 0
mov dword [ecx + 4], 0
push 1
mov dword [ecx + 8], eax
push ecx
mov dword [ecx + 0xc], 0x32
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [edi + 0x1c0]
movzx ecx, word [eax + 0x2c]
movzx eax, word [eax + 0x28]
shl ecx, 0x10
or ecx, eax
push ecx
push 2
push 0xa1
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5c3581
cmp ecx, 0x27
jne 0x5c3584
mov eax, dword [edi + 0x1c0]
movzx esi, word [eax + 0x2c]
movzx eax, word [eax + 0x28]
shl esi, 0x10
or esi, eax
push esi
push 0
push 0x202
push dword [edx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push 0x11
push 0xa1
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x7c]
push esi
movzx eax, ax
mov ecx, edi
push eax
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x88]
push dword [ebx + 8]
movzx eax, ax
push eax
call fcn.005b8c00
jmp 0x5c3c5c
mov eax, dword [ebp - 0x7c]
mov ecx, 0x400
cmp cx, ax
jne 0x5c35c8
push esi
push edx
push dword [ebp - 0x78]
mov ecx, edi
push dword [ebx + 8]
push 0xffffffffffffffb5
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 0x300
cmp cx, ax
jne 0x5c35f1
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffb4
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 0x100
cmp cx, ax
jne 0x5c361a
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffb3
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 0x200
cmp cx, ax
jne 0x5c3c5c
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffb2
call fcn.005b8c00
jmp 0x5c3c5c
mov eax, dword [ebp - 0x7c]
mov ecx, 1
cmp cx, ax
jne 0x5c366a
push esi
push edx
push dword [ebp - 0x78]
mov ecx, edi
push dword [ebx + 8]
push 0xffffffffffffffbf
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 7
cmp cx, ax
jne 0x5c368a
push esi
push edx
push dword [ebp - 0x78]
mov ecx, edi
push dword [ebx + 8]
push 0xffffffffffffffbe
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 8
cmp cx, ax
jne 0x5c36aa
push esi
push edx
push dword [ebp - 0x78]
mov ecx, edi
push dword [ebx + 8]
push 0xffffffffffffffbd
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 3
cmp cx, ax
jne 0x5c36d3
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffbc
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 2
cmp cx, ax
jne 0x5c36fc
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffbb
call fcn.005b8c00
jmp 0x5c3c5c
mov ecx, 5
cmp cx, ax
jne 0x5c3c5c
mov eax, dword [ebp - 0x88]
mov ecx, edi
push esi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push 0xffffffffffffffba
call fcn.005b8c00
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push dword [ebp - 0x7c]
push esi
call dword [sym.imp.USER32.dll_GetMenuItemID]
mov ecx, dword [ebp - 0x78]
push esi
push dword [ebp - 0x7c]
push ecx
push dword [ebx + 8]
mov ecx, edi
push eax
call fcn.005b8c00
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push esi
mov ecx, edi
call fcn.005c5780
mov esi, eax
mov ecx, edi
push esi
call fcn.005bc180
test al, al
je case.0x5c399c.531
mov ecx, dword [edi + 0x3c]
lea edx, [esi + esi*8]
cmp dword [ecx + edx*8], 0x17
jne case.0x5c399c.531
push 0
push 0
push 0x400
push dword [ecx + edx*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov eax, dword [ebp - 0x7c]
mov ecx, edi
movzx eax, ax
push eax
push dword [ebp - 0x78]
push dword [ebx + 8]
push esi
call fcn.005b8c00
jmp 0x5c3c5c
cmp dword [edi + 0x3c], 0
je case.0x5c399c.531
push esi
mov ecx, edi
call fcn.005c5780
mov esi, eax
mov ecx, edi
push esi
call fcn.005bc180
test al, al
je case.0x5c399c.531
mov eax, dword [edi + 0x3c]
lea ecx, [esi + esi*8]
mov esi, dword [ebp - 0x7c]
shl ecx, 3
mov dword [ebp - 0x80], ecx
mov eax, dword [eax + ecx + 0x1c]
cmp eax, 0xffffffff
je 0x5c3804
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp - 0x80]
mov eax, dword [edi + 0x3c]
mov eax, dword [ecx + eax + 0x20]
cmp eax, 0xffffffff
je 0x5c381b
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [ebp - 0x80]
mov eax, dword [edi + 0x3c]
mov eax, dword [ecx + eax + 0x10]
test eax, eax
je case.0x5c399c.531
jmp 0x5c3c5e
cmp dword [edi + 0x3c], 0
je case.0x5c399c.531
push esi
mov ecx, edi
call fcn.005c5780
mov esi, eax
mov ecx, edi
push esi
mov dword [ebp - 0x88], esi
call fcn.005bc180
test al, al
je case.0x5c399c.531
mov eax, dword [edi + 0x3c]
lea ecx, [esi + esi*8]
mov esi, dword [ebp - 0x7c]
shl ecx, 3
mov dword [ebp - 0x84], ecx
mov eax, dword [eax + ecx + 0x1c]
cmp eax, 0xffffffff
je 0x5c3882
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp - 0x84]
mov eax, dword [edi + 0x3c]
mov eax, dword [ecx + eax + 0x20]
cmp eax, 0xfffffffe
jne 0x5c38a4
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
jmp 0x5c3c5e
cmp eax, 0xffffffff
je 0x5c38c8
push 2
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 0x3c]
mov edx, dword [ebp - 0x84]
push dword [edx + eax + 0x20]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x5c38d1
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 0x3c]
mov ecx, dword [ebp - 0x84]
mov eax, dword [eax + ecx + 0x10]
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x5c38fe
push esi
push dword [ebp - 0x88]
mov ecx, edi
call fcn.005bc870
mov dword [ebp - 0x80], eax
test eax, eax
je case.0x5c399c.531
mov ecx, dword [edi + 0x3c]
mov edx, dword [ebp - 0x84]
cmp dword [edx + ecx], 0xa
jne 0x5c3c5e
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov ecx, dword [edi + 0x3c]
push eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x88]
lea edx, [eax + eax*8]
push dword [ecx + edx*8 + 4]
call dword [sym.imp.USER32.dll_GetWindowRgn]
mov edi, dword [ebp - 0x84]
test eax, eax
je 0x5c3951
push dword [ebp - 0x80]
push edi
push esi
call dword [sym.imp.GDI32.dll_FillRgn]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x80]
test eax, eax
je case.0x5c399c.531
jmp 0x5c3c5e
push 0
push 0
push eax
push edx
push 0xffffff32
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
cmp edx, 0x232
ja 0x5c3a55
je 0x5c39e4
lea esi, [edx - 0x212]
cmp esi, 7
ja case.0x5c399c.531
jmp dword [esi*4 + 0x5c3eb4]
push 0
push 0
push eax
push edx
push 0xffffffffffffffe8
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
push 0
push 0
push eax
push edx
push 0xffffff31
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
push 0
push ecx
push eax
push edx
push 0xffffff30
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
push 1
push dword [ebp - 0x78]
mov ecx, edi
call fcn.005c4bc0
mov esi, 1
cmp dword [edi + 0x40], esi
jl 0x5c3a3b
mov ecx, 0x48
mov dword [ebp - 0x38], ecx
nop
mov eax, dword [edi + 0x3c]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x5c3a2f
test dword [ecx + eax + 0x3c], 0x8000
je 0x5c3a2f
mov ecx, edx
call fcn.005d10a0
mov ecx, dword [ebp - 0x38]
inc esi
add ecx, 0x48
mov dword [ebp - 0x38], ecx
cmp esi, dword [edi + 0x40]
jle 0x5c3a10
mov eax, dword [ebp - 0x78]
mov edx, dword [ebx + 8]
push 0
push 0
push eax
push edx
push 0xfffffffffffffffc
mov ecx, edi
call fcn.005b8c00
jmp 0x5c3c5c
cmp edx, 0x400
ja 0x5c3c32
je 0x5c3c11
mov esi, edx
sub esi, 0x233
je 0x5c3a8c
sub esi, 0x6f
jne case.0x5c399c.531
push esi
push ecx
push eax
push edx
push 0xffffffffffffffe9
mov ecx, edi
call fcn.005b8c00
jmp case.0x5c399c.531
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov ecx, dword [ebp - 0x7c]
lea eax, [edi + 0x210]
push eax
push ecx
mov dword [edi + 0x20c], ecx
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
test eax, eax
jne 0x5c3ac5
push dword [edi + 0x20c]
call dword [sym.imp.SHELL32.dll_DragFinish]
jmp 0x5c3c5c
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x28]
movq qword [ebp - 0x28], xmm0
call fcn.005dc5e0
lea ecx, [edi + 0x110]
mov dword [ebp - 4], 0
call fcn.005dc400
push 0x800
xor esi, esi
lea ecx, [ebp - 0x28]
push esi
push esi
push 0x800
call fcn.005db9a0
push eax
push esi
push dword [edi + 0x20c]
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
test eax, eax
je 0x5c3b97
nop word [eax + eax]
test esi, esi
je 0x5c3b44
sub esp, 0xc
lea ecx, [ebp - 0x28]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x62781c
call fcn.005da510
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
lea ecx, [edi + 0x110]
call fcn.005da780
push 0x800
push 0
push 0
push 0x800
lea ecx, [ebp - 0x28]
inc esi
call fcn.005db9a0
push eax
push esi
push dword [edi + 0x20c]
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
test eax, eax
jne 0x5c3b20
push dword [edi + 0x20c]
call dword [sym.imp.SHELL32.dll_DragFinish]
mov esi, dword [ebp - 0x78]
mov edx, dword [edi + 0x210]
push ecx
push dword [edi + 0x214]
mov ecx, esi
mov dword [ebp - 0x80], 0
call fcn.005cdfa0
mov dword [ebp - 0x18], eax
test eax, eax
je 0x5c3beb
push eax
mov ecx, edi
call fcn.005c5780
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x5c3beb
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_GetParent]
push eax
mov ecx, edi
call fcn.005c5780
mov dword [ebp - 0x80], eax
lea ecx, [edi + 0x110]
call fcn.005dc190
push eax
push dword [ebp - 0x80]
mov ecx, edi
push esi
push dword [ebx + 8]
push 0xfffffffffffffffb
call fcn.005b8c00
lea ecx, [ebp - 0x28]
call fcn.005dc430
jmp 0x5c3c5c
push dword [edi + 0x230]
mov ecx, edi
call fcn.005c1cc0
mov eax, dword [edi + 0x1ec]
test eax, eax
je 0x5c3c5c
movzx eax, ax
or eax, 0x534b0000
jmp 0x5c3c5e
cmp edx, 0xcb0
jne case.0x5c399c.531
mov eax, dword [edi + 0x1c0]
push esi
push ecx
push 0xcb1
mov dword [eax + 0x30], edi
push dword [edi + 0x230]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x38]
mov byte [eax], 1
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10