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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x472f68
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48a348]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov ebp, ecx
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x6c], vtable.rfb::SimpleUpdateTracker.0
call fcn.0045bcb0
mov dword [esp + 0x70], eax
call fcn.0045bcb0
mov dword [esp + 0x74], eax
call fcn.0045bcb0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov byte [esp + 0x84], bl
mov dword [esp + 0xe8], ebx
call fcn.0045bcb0
mov dword [esp + 0x20], eax
mov al, 1
mov byte [esp + 0xe8], al
mov byte [esp + 0x84], al
push str.._vncclient.cpp_:_starting_update_thread_n
lea ecx, [ebx + 9]
mov eax, 0x48c4e8
mov dword [esp + 0x28], ebx
mov dword [0x48e040], ebx
call fcn.00401000
add esp, 4
nop
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
call edx
push eax
mov dword [esp + 0x5c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [esp + 0x20]
mov byte [esp + 0xe8], 2
mov edx, dword [ebp + 0x60]
push eax
lea ecx, [esp + 0x9c]
push ecx
add edx, 0x13c
push edx
call fcn.00406a80
mov ecx, eax
mov byte [esp + 0xe8], 3
mov eax, dword [ebp + 0x60]
mov edx, dword [eax + 0x13c]
add eax, 0x13c
mov dword [edx + 4], ebx
mov eax, dword [eax]
mov ecx, dword [ecx]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ebx
lea ebx, [esp + 0xa8]
call fcn.0045c7d0
mov byte [esp + 0xe8], 2
mov eax, dword [esp + 0x98]
mov esi, eax
mov eax, dword [eax + 8]
push eax
mov edi, 2
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
cmp dword [0x48e040], 1
jae 0x411b00
xor edi, edi
cmp dword [ebp + 0x6c], edi
je 0x411a53
cmp dword [ebp + 0x70], edi
je 0x411a4f
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0x8c]
push edx
mov edx, dword [eax + 0x24]
call edx
push eax
call fcn.004069f0
mov byte [esp + 0xe8], 4
mov eax, dword [eax]
or dword [esp + 0x18], 1
cmp dword [eax + 4], edi
jne 0x411a53
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0x98]
push edx
mov edx, dword [eax + 0x2c]
call edx
push eax
call fcn.004069f0
mov dword [esp + 0xe8], 5
mov eax, dword [eax]
or dword [esp + 0x18], 2
cmp dword [eax + 4], edi
jne 0x411a53
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [eax + 0x28]
call edx
push eax
call fcn.004069f0
mov eax, dword [eax]
or dword [esp + 0x18], 4
cmp dword [eax + 4], edi
jne 0x411a53
mov eax, dword [ebp + 0x60]
cmp dword [eax + 0x148], edi
jne 0x411a53
cmp dword [eax + 0x164], edi
jne 0x411a53
mov bl, 1
jmp 0x411a55
xor bl, bl
test byte [esp + 0x18], 4
je 0x411a7f
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 8]
and dword [esp + 0x18], 0xfffffffb
push ecx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
test byte [esp + 0x18], 2
je 0x411aa9
mov eax, dword [esp + 0x94]
mov edx, dword [eax + 8]
and dword [esp + 0x18], 0xfffffffd
push edx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
mov dword [esp + 0xe8], 2
test byte [esp + 0x18], 1
je 0x411ade
mov eax, dword [esp + 0x88]
and dword [esp + 0x18], 0xfffffffe
mov esi, eax
mov eax, dword [eax + 8]
push eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
test bl, bl
je 0x411c9d
mov ecx, dword [ebp + 0x68]
call fcn.0045d210
mov ecx, dword [ebp + 0x64]
call fcn.0045d820
jmp 0x411981
cmp dword [ebp + 0x6c], 0
je 0x411bfb
cmp dword [ebp + 0x70], 0
je 0x411bf7
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0x94]
push edx
mov edx, dword [eax + 0x24]
call edx
push eax
call fcn.004069f0
mov byte [esp + 0xe8], 6
mov eax, dword [eax]
or dword [esp + 0x18], 8
cmp dword [eax + 4], 0
jne 0x411bfb
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0x90]
push edx
mov edx, dword [eax + 0x2c]
call edx
push eax
call fcn.004069f0
mov dword [esp + 0xe8], 7
mov eax, dword [eax]
or dword [esp + 0x18], 0x10
cmp dword [eax + 4], 0
jne 0x411bfb
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
add eax, 0x13c
push eax
mov eax, dword [ecx]
lea edx, [esp + 0xa4]
push edx
mov edx, dword [eax + 0x28]
call edx
push eax
call fcn.004069f0
mov eax, dword [eax]
or dword [esp + 0x18], 0x20
cmp dword [eax + 4], 0
jne 0x411bfb
mov eax, dword [ebp + 0x60]
cmp dword [eax + 0xa0], 0
jne 0x411bd3
cmp dword [eax + 0xa4], 0
je 0x411bdf
mov ecx, dword [eax + 0xc8]
cmp dword [ecx + 0x40], 0
jne 0x411bfb
cmp dword [eax + 0x148], 0
jne 0x411bfb
cmp dword [eax + 0x18], 0
jne 0x411bfb
cmp dword [eax + 0x164], 0
jne 0x411bfb
mov bl, 1
jmp 0x411bfd
xor bl, bl
test byte [esp + 0x18], 0x20
je 0x411c27
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 8]
and dword [esp + 0x18], 0xffffffdf
push edx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
test byte [esp + 0x18], 0x10
je 0x411c51
mov eax, dword [esp + 0x8c]
and dword [esp + 0x18], 0xffffffef
mov esi, eax
mov eax, dword [eax + 8]
push eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
mov dword [esp + 0xe8], edi
test byte [esp + 0x18], 8
je 0x411c82
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 8]
and dword [esp + 0x18], 0xfffffff7
push ecx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
test bl, bl
je 0x411c9b
mov ecx, dword [ebp + 0x68]
call fcn.0045d210
mov ecx, dword [ebp + 0x64]
call fcn.0045d820
jmp 0x411b00
xor edi, edi
cmp dword [ebp + 0x6c], edi
je 0x412487
mov eax, dword [ebp + 0x60]
cmp byte [eax + 0x474], 0
je 0x411f09
mov ebx, dword [eax + 0xc8]
mov eax, dword [ebx + 0x54]
lea esi, [esp + 0xcc]
call fcn.0041f3e0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [ebx + 0x30]
mov dword [esp + 0xa8], edx
xor edx, edx
mov dword [esp + 0xac], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
div ebx
xor edx, edx
mov esi, eax
mov eax, ecx
div ebx
mov ebx, eax
mov eax, dword [ebp + 0x60]
cmp byte [eax + 0x475], 0
je 0x411e22
mov eax, dword [eax + 0xc8]
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.0040e330
mov eax, dword [esp + 0xc4]
mov edx, eax
sar edx, 8
and edx, 0xff
shl eax, 8
or edx, eax
mov eax, dword [esp + 0xc8]
mov word [esp + 0x36], dx
mov edx, eax
sar edx, 8
shl eax, 8
and edx, 0xff
or edx, eax
mov word [esp + 0x38], dx
mov eax, ebx
sar eax, 8
and eax, 0xff
mov edx, esi
shl ebx, 8
or eax, ebx
sar edx, 8
and edx, 0xff
shl esi, 8
mov word [esp + 0x3a], ax
mov eax, dword [ebp + 0x60]
or edx, esi
mov cl, 0xf
mov byte [esp + 0x34], cl
mov word [esp + 0x3c], dx
mov ebx, dword [eax + 0xec]
mov al, byte [ebx + 0xc]
test al, al
je 0x411dc0
mov edx, dword [ebx + 8]
cmp byte [edx + 0x21], 0
je 0x411dc0
mov byte [esp + 0x1e], cl
mov ecx, 1
lea eax, [esp + 0x1e]
mov edi, ebx
call fcn.0044b4f0
mov ecx, 0xc
lea eax, [esp + 0x34]
call fcn.0044b4f0
jmp 0x411ee5
mov ecx, 0xc
test al, al
je 0x411e19
mov esi, dword [ebx + 8]
cmp byte [esi + 0x21], 0
je 0x411e19
cmp byte [ebx + 0x5c], 0
je 0x411dfb
mov eax, dword [ebx + 0x58]
add eax, dword [ebx + 0x60]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
add dword [ebx + 0x60], 0xc
jmp 0x411ee5
lea edx, [esp + 0x50]
push edx
push 0xc
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x5c], edi
call fcn.00402ad0
mov ecx, dword [esp + 0x50]
jmp 0x411edd
lea eax, [esp + 0x34]
jmp 0x411edd
mov ecx, ebx
mov edx, esi
sar ecx, 8
sar edx, 8
shl ebx, 8
and ecx, 0xff
and edx, 0xff
shl esi, 8
or ecx, ebx
or edx, esi
mov byte [esp + 0x28], 4
mov word [esp + 0x2a], cx
mov word [esp + 0x2c], dx
mov ebx, dword [eax + 0xec]
mov al, byte [ebx + 0xc]
test al, al
je 0x411e8c
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x21], 0
je 0x411e8c
mov ecx, 1
lea eax, [esp + 0x1e]
mov edi, ebx
mov byte [esp + 0x1e], 4
call fcn.0044b4f0
mov ecx, 6
lea eax, [esp + 0x28]
call fcn.0044b4f0
jmp 0x411ee5
mov ecx, 6
test al, al
je 0x411ed9
mov esi, dword [ebx + 8]
cmp byte [esi + 0x21], 0
je 0x411ed9
cmp byte [ebx + 0x5c], 0
je 0x411ebe
mov eax, dword [ebx + 0x58]
add eax, dword [ebx + 0x60]
mov edx, dword [esp + 0x28]
mov dword [eax], edx
mov dx, word [esp + 0x2c]
mov word [eax + 4], dx
add dword [ebx + 0x60], ecx
jmp 0x411ee5
lea eax, [esp + 0x54]
push eax
push 6
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x60], edi
call fcn.00402ad0
mov ecx, dword [esp + 0x54]
jmp 0x411edd
lea eax, [esp + 0x28]
push ecx
mov esi, ebx
call fcn.0044b2f0
mov edx, dword [ebp + 0x60]
mov ebx, dword [edx + 0xc8]
call fcn.004100c0
mov ecx, dword [ebp + 0x60]
xor al, al
mov byte [ecx + 0x474], al
mov edx, dword [ebp + 0x60]
mov byte [edx + 0x475], al
xor edi, edi
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0x140]
mov dword [eax + 0x140], edi
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebp + 0x60]
add ecx, 0x13c
mov dword [edx + 4], edi
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx]
lea ebx, [esp + 0xa8]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], edi
call fcn.0045c7d0
mov eax, dword [ebp + 0x60]
add eax, 0x13c
mov eax, dword [eax]
xor esi, esi
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x60]
cmp dword [ecx + 0x148], esi
je 0x411f82
mov eax, ecx
mov edx, dword [eax + 0x148]
mov dword [esp + 0x24], edx
mov dword [eax + 0x148], esi
mov eax, dword [ebp + 0x60]
lea ecx, [eax + 0x118]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x70]
push edx
call eax
mov edx, dword [0x48e040]
cmp edx, 1
jbe 0x411fc2
mov eax, dword [ebp + 0x60]
add eax, 0x4c
mov eax, dword [eax + 0x7c]
mov ecx, dword [eax + 0x40]
mov dword [eax + 0x40], esi
mov eax, dword [ebp + 0x60]
mov dword [eax + 0x15c], ecx
cmp edx, 1
jne 0x411fd1
mov ecx, dword [ebp + 0x60]
mov dword [ecx + 0x15c], 1
mov ecx, dword [ebp + 0x60]
cmp dword [ecx + 0x160], esi
jne 0x412261
cmp dword [ecx + 0x15c], esi
jne 0x412261
cmp dword [ecx + 0x10c], esi
je 0x412261
mov eax, ecx
mov edx, dword [eax + 0xfc]
mov esi, dword [eax + 0x460]
cmp edx, esi
mov edi, edx
jg 0x41200e
mov edi, esi
mov edx, dword [eax + 0x100]
mov ebx, dword [eax + 0x464]
cmp edx, ebx
mov esi, edx
jg 0x412022
mov esi, ebx
mov ebx, dword [eax + 0x104]
mov edx, dword [eax + 0x468]
cmp ebx, edx
jge 0x412034
mov edx, ebx
mov ebx, dword [eax + 0x108]
mov eax, dword [eax + 0x46c]
cmp ebx, eax
jge 0x412046
mov eax, ebx
mov dword [ecx + 0xfc], edi
mov dword [ecx + 0x100], esi
mov dword [ecx + 0x104], edx
mov dword [ecx + 0x108], eax
mov esi, dword [ebp + 0x60]
mov edx, dword [esi + 0xfc]
cmp edx, dword [esi + 0x104]
jge 0x41210e
mov eax, dword [esi + 0x100]
cmp eax, dword [esi + 0x108]
jge 0x41210e
call fcn.0045bcb0
mov ebx, eax
mov dword [ebx + 4], 0
movzx eax, word [esi + 0xfc]
movzx ecx, word [esi + 0x100]
mov dx, word [esi + 0x104]
sub dx, ax
mov word [esp + 0x5c], ax
mov ax, word [esi + 0x108]
sub ax, cx
mov word [esp + 0x5e], cx
push ebx
push ebx
lea ecx, [esp + 0x64]
mov dword [esp + 0x38], ebx
mov word [esp + 0x68], dx
mov word [esp + 0x6a], ax
call fcn.0045bd10
add esp, 8
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x70]
mov byte [esp + 0xec], 8
call fcn.00407630
mov byte [esp + 0xe8], 2
mov edx, dword [ebx + 8]
push edx
call fcn.0045ecd6
add esp, 4
push ebx
call fcn.0045ecd6
add esp, 4
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0xc8]
mov ecx, dword [ecx + 0x54]
mov edx, dword [ecx + 0xe080]
mov dword [eax + 0xfc], edx
mov edx, dword [ecx + 0xe084]
mov dword [eax + 0x100], edx
mov edx, dword [ecx + 0xe088]
mov dword [eax + 0x104], edx
mov ecx, dword [ecx + 0xe08c]
mov dword [eax + 0x108], ecx
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0x460]
cmp ecx, edx
jle 0x41215f
mov edx, ecx
mov esi, dword [eax + 0x100]
mov ebx, dword [eax + 0x464]
cmp esi, ebx
mov ecx, esi
jg 0x412173
mov ecx, ebx
mov esi, dword [eax + 0x104]
mov ebx, dword [eax + 0x468]
cmp esi, ebx
jge 0x412185
mov ebx, esi
mov esi, dword [eax + 0x108]
mov eax, dword [eax + 0x46c]
cmp esi, eax
jl 0x412197
mov esi, eax
mov eax, dword [ebp + 0x60]
add eax, 0xfc
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0x60]
mov edx, dword [esi + 0xfc]
cmp edx, dword [esi + 0x104]
jge 0x412252
mov eax, dword [esi + 0x100]
cmp eax, dword [esi + 0x108]
jge 0x412252
call fcn.0045bcb0
mov ebx, eax
mov dword [ebx + 4], 0
movzx eax, word [esi + 0xfc]
movzx ecx, word [esi + 0x100]
mov dx, word [esi + 0x104]
sub dx, ax
mov word [esp + 0x64], ax
mov ax, word [esi + 0x108]
sub ax, cx
mov word [esp + 0x66], cx
push ebx
push ebx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x38], ebx
mov word [esp + 0x70], dx
mov word [esp + 0x72], ax
call fcn.0045bd10
add esp, 8
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x70]
mov byte [esp + 0xec], 9
call fcn.00407630
mov edx, dword [ebx + 8]
push edx
call fcn.0045ecd6
add esp, 4
push ebx
call fcn.0045ecd6
add esp, 4
mov eax, dword [ebp + 0x60]
mov dword [eax + 0x10c], 0
xor esi, esi
mov byte [esp + 0xe8], 1
mov ecx, dword [esp + 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x41244b
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412283
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x412297
sub ecx, esi
mov esi, eax
lea ebx, [esi + 1]
mov dl, byte [esi]
inc esi
test dl, dl
jne 0x4122a5
sub esi, ebx
lea edx, [eax + 1]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x4122b1
sub eax, edx
mov edx, dword [ebp + 0x60]
shl eax, 0x10
and ecx, 0xff0000
and esi, 0xff00
or eax, esi
shr edi, 0x10
or ecx, edi
shl eax, 8
shr ecx, 8
or eax, ecx
mov cl, 3
mov dword [esp + 0x44], eax
mov byte [esp + 0x40], cl
mov ebx, dword [edx + 0xec]
mov al, byte [ebx + 0xc]
test al, al
je 0x41231f
mov edx, dword [ebx + 8]
cmp byte [edx + 0x21], 0
je 0x41231f
mov byte [esp + 0x1f], cl
mov ecx, 1
lea eax, [esp + 0x1f]
mov edi, ebx
call fcn.0044b4f0
mov ecx, 8
lea eax, [esp + 0x40]
call fcn.0044b4f0
jmp 0x41237a
mov ecx, 8
test al, al
je 0x41236e
mov esi, dword [ebx + 8]
cmp byte [esi + 0x21], 0
je 0x41236e
cmp byte [ebx + 0x5c], 0
je 0x41234f
mov eax, dword [ebx + 0x58]
add eax, dword [ebx + 0x60]
mov edx, dword [esp + 0x40]
mov dword [eax], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 4], edx
add dword [ebx + 0x60], ecx
jmp 0x41237a
lea eax, [esp + 0x4c]
push eax
push 8
lea ecx, [esp + 0x48]
push ecx
mov dword [esp + 0x58], 0
call fcn.00402ad0
mov ecx, dword [esp + 0x4c]
jmp 0x412372
lea eax, [esp + 0x40]
push ecx
mov esi, ebx
call fcn.0044b2f0
mov edx, dword [esp + 0x24]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412383
sub eax, esi
mov esi, eax
mov eax, dword [ebp + 0x60]
mov ebx, dword [eax + 0xec]
mov edi, esi
cmp byte [ebx + 0xc], cl
je 0x4123dd
mov eax, dword [ebx + 8]
cmp byte [eax + 0x21], cl
je 0x4123dd
cmp byte [ebx + 0x5c], cl
je 0x4123c1
mov ecx, dword [ebx + 0x58]
add ecx, dword [ebx + 0x60]
push esi
push edx
push ecx
call fcn.00463790
add esp, 0xc
add dword [ebx + 0x60], esi
jmp 0x412434
lea ecx, [esp + 0x48]
push ecx
push esi
push edx
mov esi, eax
mov dword [esp + 0x54], 0
call fcn.00402ad0
mov edi, dword [esp + 0x48]
jmp 0x4123df
mov eax, edx
push edi
mov esi, ebx
call fcn.0044b2f0
xor edx, edx
cmp eax, edi
sete dl
mov eax, edx
test eax, eax
jne 0x412434
mov eax, dword [ebp + 0x60]
mov esi, dword [eax + 0xec]
cmp dword [esi + 4], edx
jl 0x412434
push str.._vsocket.cpp_:_closing_socket_n
lea ecx, [edx + 0xa]
mov eax, 0x48c4e8
call fcn.00401000
mov ecx, dword [esi + 4]
add esp, 4
push 2
push ecx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov edx, dword [esi + 4]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov dword [esi + 4], 0xffffffff
mov eax, dword [esp + 0x24]
push eax
call fcn.0045ecd6
add esp, 4
mov dword [esp + 0x24], 0
xor esi, esi
cmp dword [esp + 0xa4], esi
je 0x41245d
mov ecx, dword [ebp + 0x60]
push ecx
call fcn.00418680
mov edx, dword [ebp + 0x60]
push edx
lea ecx, [esp + 0x70]
call fcn.004179c0
test eax, eax
je 0x41247b
mov eax, dword [esp + 0x20]
inc dword [0x48e040]
mov dword [eax + 4], esi
call fcn.0045d3f0
xor ebx, ebx
jmp 0x4118d0
mov ecx, dword [esp + 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push str.._vncclient.cpp_:_stopping_update_thread_n
mov ecx, 9
mov eax, 0x48c4e8
call fcn.00401000
mov edx, dword [0x48e040]
add esp, 4
push edx
push str.client_sent__lu_updates_n
xor ecx, ecx
mov eax, 0x48c4e8
call fcn.00401000
mov eax, dword [esp + 0x28]
mov esi, eax
mov eax, dword [eax + 8]
push eax
call fcn.0045ecd6
add esp, 0xc
push esi
call fcn.0045ecd6
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], vtable.rfb::SimpleUpdateTracker.0
mov ecx, dword [eax + 8]
add esp, 4
push ecx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 8]
add esp, 4
push edx
mov esi, eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
mov eax, dword [esp + 0x74]
mov esi, eax
mov eax, dword [eax + 8]
add esp, 4
push eax
call fcn.0045ecd6
add esp, 4
push esi
call fcn.0045ecd6
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 4