Function at 0x65de80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x65e84d
sub esp, 0x164
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
nop
lea eax, [0x67dd60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x8a1984]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x65dfb9
mov eax, dword [0x8a19a8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x682020]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x6ccb4c]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x150]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
call sym.runtime.deferreturn
add esp, 0x164
ret
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [sym.github.com_vova616_screenshot.CaptureRect.func1]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x74]
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0xe8]
mov dword [esp], ecx
call sym.runtime.deferprocStack
test eax, eax
jne 0x65e660
nop
lea eax, [0x67dd60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov edx, dword [0x8a19a0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
test eax, eax
je 0x65e834
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea ecx, [sym.github.com_vova616_screenshot.CaptureRect.func2]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x6c]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0xc4]
mov dword [esp], ecx
call sym.runtime.deferprocStack
test eax, eax
jne 0x65e654
nop
nop
lea eax, [0x693100]
mov dword [esp], eax
call sym.runtime.newobject
mov esi, dword [esp + 4]
mov dword [esp + 0x144], esi
lea edi, [esp + 0x10c]
call fcn.0046892c
lea eax, [0x6ac400]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
sub ecx, edx
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x16c]
sub ebx, ebp
mov dword [esp + 0x38], ebx
test eax, eax
je 0x65e105
lea edi, [0x728c64]
jmp 0x65e109
xor edi, edi
xor eax, eax
mov ecx, dword [edi + 0x7c]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x144]
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x174]
sub edx, ebx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], 0x200001
mov dword [ecx + 0x10], 0
lea edx, [0x6820e0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x8d0720]
mov ecx, dword [esp + 4]
xor edx, edx
test eax, eax
je 0x65e16b
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [esp + 0x140], ecx
mov dword [ecx], edx
nop
mov eax, dword [esp + 0x144]
mov dword [esp + 0x138], eax
mov dword [esp + 0x134], ecx
lea eax, [0x67ee40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov edx, dword [esp + 0x138]
mov dword [eax + 4], edx
mov dword [eax + 8], 0
mov edx, dword [esp + 0x134]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov edx, dword [0x8a199c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 6
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
test eax, eax
je 0x65e596
cmp eax, 2
jne 0x65e259
lea eax, [0x6d3b8e]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
call sym.runtime.deferreturn
add esp, 0x164
ret
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
lea ecx, [sym.github.com_vova616_screenshot.CaptureRect.func3]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x64]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xa0]
mov dword [esp], ecx
call sym.runtime.deferprocStack
test eax, eax
jne 0x65e58a
nop
lea eax, [0x67eb00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax], ecx
mov edx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov edx, dword [0x8a1998]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
test eax, eax
je 0x65e81c
cmp eax, 0xffffffff
je 0x65e4cc
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ecx, [sym.github.com_vova616_screenshot.CaptureRect.func4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x7c]
mov dword [esp], eax
call sym.runtime.deferprocStack
test eax, eax
jne 0x65e4c0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x168]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x16c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0xcc0020
call sym.github.com_vova616_screenshot.BitBlt
movzx eax, byte [esp + 0x24]
test al, al
je 0x65e402
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov eax, dword [esp + 0x140]
mov eax, dword [eax]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
imul eax, ecx
shl eax, 2
mov dword [esp + 0x58], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], eax
lea ebx, [0x682060]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
xor edx, edx
jmp 0x65e677
mov eax, dword [0x8a19a8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x682020]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x6c4e83]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea eax, [esp + 0x150]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
call sym.runtime.deferreturn
add esp, 0x164
ret
call sym.runtime.deferreturn
add esp, 0x164
ret
mov eax, dword [0x8a19a8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x682020]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x6cf214]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
lea eax, [esp + 0x150]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
call sym.runtime.deferreturn
add esp, 0x164
ret
call sym.runtime.deferreturn
add esp, 0x164
ret
mov eax, dword [0x8a19a8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.syscall._LazyProc_.Call
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x682020]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
lea eax, [0x6cc40d]
mov dword [esp], eax
mov dword [esp + 4], 0x25
lea eax, [esp + 0x150]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
call sym.runtime.deferreturn
add esp, 0x164
ret
call sym.runtime.deferreturn
add esp, 0x164
ret
call sym.runtime.deferreturn
add esp, 0x164
ret
xchg edi, ebx
mov byte [edx + eax + 3], bl
xchg edi, ebx
add edx, 4
cmp edx, ecx
jge 0x65e718
mov ebx, dword [esp + 0x15c]
cmp edx, ebx
jae 0x65e813
mov ebp, dword [esp + 0x158]
lea esi, [edx + 1]
movzx edi, byte [ebp + edx]
cmp ebx, esi
jbe 0x65e80a
xchg edi, eax
mov byte [esp + 0x2b], al
xchg edi, eax
mov dword [esp + 0x54], esi
lea esi, [edx + 3]
movzx edi, byte [edx + ebp + 1]
cmp ebx, esi
jbe 0x65e801
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
mov dword [esp + 0x50], esi
lea esi, [edx + 2]
movzx edi, byte [edx + ebp + 3]
cmp ebx, esi
jbe 0x65e7f8
movzx ebx, byte [edx + ebp + 2]
mov byte [eax + edx], bl
cmp ecx, esi
jbe 0x65e7f1
movzx ebx, byte [esp + 0x2b]
mov byte [edx + eax + 2], bl
mov ebx, dword [esp + 0x54]
cmp ecx, ebx
jbe 0x65e7ea
movzx ebx, byte [esp + 0x2a]
mov byte [edx + eax + 1], bl
mov ebx, dword [esp + 0x50]
cmp ecx, ebx
ja 0x65e66c
jmp 0x65e7e3
mov edx, dword [esp + 0x3c]
test edx, edx
jge 0x65e726
mov ebx, edx
xor ebp, ebp
jmp 0x65e72c
mov ebx, edx
xor edx, edx
mov ebp, ebx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x38]
test esi, esi
jge 0x65e747
xor edi, edi
jmp 0x65e74d
xor esi, esi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
lea eax, [0x69bc20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [0x8d0720]
test ecx, ecx
jne 0x65e784
mov ecx, dword [esp + 0x13c]
jmp 0x65e792
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x13c]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
shl ecx, 2
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x1c], ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
call sym.runtime.deferreturn
add esp, 0x164
ret
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicIndex
mov eax, esi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, esi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, esi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndex
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x726280]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x726278]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.github.com_vova616_screenshot.CaptureRect