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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4be803
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x18dc
call fcn.0048cd00
mov eax, dword [0x57e030]
xor eax, esp
mov dword [esp + 0x18d8], eax
push ebx
push esi
push edi
mov eax, dword [0x57e030]
xor eax, esp
push eax
lea eax, [esp + 0x18f0]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebx + 4]
xor edi, edi
push 0x800
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xe0]
push edi
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0xe0], vtable.HttpRequest.0
mov dword [esp + 0x18e8], edi
call fcn.00483dc0
add esp, 0xc
push 0x800
lea ecx, [esp + 0x8e0]
push edi
push ecx
call fcn.00483dc0
add esp, 0xc
push 0x800
lea edx, [esp + 0x10e0]
push edi
push edx
call fcn.00483dc0
add esp, 0xc
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0xd8]
push ecx
mov dword [esp + 0x1900], edi
call fcn.0045b1f0
lea edx, [esp + 0xd4]
push edx
call fcn.0045b0a0
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x5c]
push ecx
call fcn.0045cd90
lea ecx, [esp + 0x18]
mov byte [esp + 0x18f8], 1
call fcn.00404990
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x18fc], 2
call fcn.0045d000
lea eax, [esp + 0xd4]
push eax
call fcn.0045b0f0
test al, al
jne 0x45aa2d
mov esi, dword [ebx + 0x1c]
cmp esi, dword [ebx + 0x20]
jbe 0x45a9fb
call fcn.00480e22
mov eax, dword [ebx + 0x10]
cmp eax, edi
jne 0x45aa29
call fcn.00480e22
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x45aa13
call fcn.00480e22
push esi
mov esi, dword [ebx + 0x28]
push 0x5627e8
call fcn.00423950
add esp, 8
jmp 0x45af8a
mov eax, dword [eax]
jmp 0x45aa09
push 0x20
push 0xa
lea edi, [esp + 0x20]
call fcn.004057f0
push 0x20
push 9
call fcn.004057f0
mov esi, dword [ebx + 0x1c]
cmp esi, dword [ebx + 0x20]
jbe 0x45aa50
call fcn.00480e22
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x45aaf0
call fcn.00480e22
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x45aa6c
call fcn.00480e22
mov edi, dword [esp + 0x28]
cmp edi, dword [esp + 0x2c]
jbe 0x45aa7b
call fcn.00480e22
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x45aaf7
call fcn.00480e22
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x45aa94
call fcn.00480e22
push esi
mov esi, dword [ebx + 0x28]
push edi
push str.__s__from__s
call fcn.00423980
mov eax, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x34], vtable.HttpReply.0
mov dword [esp + 0x38], eax
mov byte [esp + 0x18f8], 3
mov ecx, 0x562840
lea eax, [esp + 0x8dc]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45aafb
test dl, dl
je 0x45aaec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45aafb
add eax, 2
add ecx, 2
test dl, dl
jne 0x45aad0
xor eax, eax
jmp 0x45ab00
mov eax, dword [eax]
jmp 0x45aa62
mov eax, dword [eax]
jmp 0x45aa8a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45af19
push 0x562844
lea eax, [esp + 0x40]
push eax
call fcn.0045cd90
mov byte [esp + 0x18f8], 4
mov edx, dword [vtable.LocalMutex.0]
mov eax, dword [edx + 4]
mov ecx, 0x580d40
mov byte [esp + 0x13], 1
call eax
mov edx, dword [vtable.LocalMutex.0]
mov eax, dword [edx + 8]
mov edi, dword [0x594960]
mov ecx, 0x580d40
call eax
mov edx, dword [edi + 0x104]
mov eax, dword [edx + 4]
lea esi, [edi + 0x104]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov bl, byte [edi + 0x68]
mov ecx, esi
call eax
mov edi, dword [esp + 0x18dc]
test edi, edi
je 0x45ac7d
mov eax, dword [edi + 0x20]
test eax, eax
jbe 0x45ac7d
test bl, bl
je 0x45ac7d
xor esi, esi
test eax, eax
jbe 0x45ac7d
mov ecx, esi
mov eax, edi
call fcn.0045ba40
mov ebx, eax
mov ecx, ebx
mov edx, edi
call fcn.0045bac0
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.0045b3c0
mov byte [esp + 0x18f8], 5
cmp byte [esp + 0x98], 0
je 0x45ac67
mov eax, dword [esp + 0x8c]
mov ebx, eax
mov dword [esp + 0x74], ebx
cmp eax, dword [esp + 0x90]
jbe 0x45abe6
call fcn.00480e22
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x45ac5f
call fcn.00480e22
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x45ac02
call fcn.00480e22
mov ebx, dword [esp + 0x4c]
cmp ebx, dword [esp + 0x50]
jbe 0x45ac11
call fcn.00480e22
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x45ac63
call fcn.00480e22
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x45ac2a
call fcn.00480e22
mov edx, dword [esp + 0x74]
push edx
push ebx
lea eax, [esp + 0x44]
push str._s_s
push eax
call fcn.0045d150
add esp, 0x10
lea ecx, [esp + 0x78]
mov byte [esp + 0x18f8], 4
call fcn.0045b4f0
inc esi
cmp esi, dword [edi + 0x20]
jb 0x45ab95
jmp 0x45ac7d
mov eax, dword [eax]
jmp 0x45abf8
mov eax, dword [eax]
jmp 0x45ac20
lea ecx, [esp + 0x78]
mov byte [esp + 0x13], 0
mov byte [esp + 0x18f8], 4
call fcn.0045b4f0
lea edx, [esp + 0x34]
call fcn.0045b2e0
cmp byte [esp + 0x13], 0
jne 0x45acab
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
push str._HTML__n___HEAD__TITLE_TightVNC_desktop__TITLE___HEAD__n___BODY__n_____H1_Bad_Parameters__H1__n____The_sequence_of_applet_parameters_specified_within_the_URL_is_invalid._n____BODY__n__HTML__n
push edx
mov ebx, 0xb8
call fcn.00423530
xor esi, esi
jmp 0x45aecd
lea eax, [esp + 0x9c]
push eax
call fcn.0045cd30
push 0x5561fc
lea ecx, [esp + 0x7c]
push ecx
mov byte [esp + 0x1900], 6
call fcn.004049f0
lea ecx, [esp + 0x78]
mov byte [esp + 0x18f8], 7
call fcn.0041b3f0
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.0045cdf0
mov byte [esp + 0x18f8], 8
mov eax, dword [esp + 0x4c]
mov ebx, eax
cmp eax, dword [esp + 0x50]
jbe 0x45ad0b
call fcn.00480e22
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x45af04
call fcn.00480e22
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x45ad28
call fcn.00480e22
mov edx, dword [vtable.LocalMutex.0]
mov eax, dword [edx + 4]
mov ecx, 0x580d40
call eax
mov edx, dword [vtable.LocalMutex.0]
mov eax, dword [edx + 8]
mov edi, dword [0x594960]
mov ecx, 0x580d40
call eax
mov edx, dword [edi + 0x104]
mov eax, dword [edx + 4]
lea esi, [edi + 0x104]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov edi, dword [edi + 0x3c]
mov ecx, esi
call eax
mov esi, dword [esp + 0xc8]
cmp esi, dword [esp + 0xcc]
jbe 0x45ad82
call fcn.00480e22
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x45af0b
call fcn.00480e22
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x45ada2
call fcn.00480e22
push ebx
push edi
push esi
lea ecx, [esp + 0xa8]
push str._HTML__n___HEAD__TITLE_TightVNC_desktop___.256s___TITLE___HEAD__n___BODY__n_____APPLET_ARCHIVE_tightvnc_jviewer.jar__CODE_com.glavsoft.viewer.Viewer__WIDTH1_HEIGHT1__n_______PARAM_NAME_PORT__VALUE__d___n_______PARAM_NAME_OpenNewWindow__VALUE_YES___n_.1024s______APPLET__BR__n_____A_HREF_http:__www.tightvnc.com___www.TightVNC.com__A__n____BODY__n__HTML__n
push ecx
call fcn.0045d150
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov esi, ecx
sub esi, eax
add esp, 0x14
dec esi
mov edi, eax
cmp eax, ecx
jbe 0x45add8
call fcn.00480e22
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x45af12
call fcn.00480e22
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x45adf8
call fcn.00480e22
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
push edi
push eax
mov ebx, esi
call fcn.00423530
mov eax, dword [esp + 0xc8]
xor esi, esi
mov edi, vtable.AnsiStringStorage.0
mov dword [esp + 0xb8], edi
cmp eax, esi
je 0x45ae2a
push eax
call fcn.00480e32
add esp, 4
mov ecx, dword [esp + 0xbc]
push ecx
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
call fcn.00480e32
mov eax, dword [esp + 0x8c]
add esp, 4
mov dword [esp + 0x78], vtable.StringStorage.0
cmp eax, esi
je 0x45ae6b
push eax
call fcn.00480e32
add esp, 4
mov edx, dword [esp + 0x7c]
push edx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
call fcn.00480e32
mov eax, dword [esp + 0xb0]
add esp, 4
mov dword [esp + 0x9c], edi
cmp eax, esi
je 0x45aea8
push eax
call fcn.00480e32
add esp, 4
mov eax, dword [esp + 0xa0]
push eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
call fcn.00480e32
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], vtable.AnsiStringStorage.0
cmp eax, esi
je 0x45aee6
push eax
call fcn.00480e32
add esp, 4
mov ecx, dword [esp + 0x40]
push ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
call fcn.00480e32
add esp, 4
jmp 0x45af8a
mov eax, dword [eax]
jmp 0x45ad1e
mov eax, dword [eax]
jmp 0x45ad98
mov eax, dword [eax]
jmp 0x45adee
mov ecx, str._tightvnc_jviewer.jar
lea eax, [esp + 0x8dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45af45
test dl, dl
je 0x45af41
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45af45
add eax, 2
add ecx, 2
test dl, dl
jne 0x45af25
xor eax, eax
jmp 0x45af4a
sbb eax, eax
sbb eax, 0xffffffff
lea edx, [esp + 0x34]
test eax, eax
jne 0x45af85
call fcn.0045b2e0
mov edx, dword [esp + 0x14]
mov ebx, dword [edx + 8]
xor esi, esi
mov edi, 0x88a9b
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push edi
lea edx, [esi + 0x4ccf30]
push edx
call eax
add esi, eax
sub edi, eax
cmp esi, 0x88a9b
jb 0x45af65
jmp 0x45af8a
call fcn.0045b350
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x18], vtable.StringStorage.0
cmp eax, esi
je 0x45afa5
push eax
call fcn.00480e32
add esp, 4
mov ecx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
call fcn.00480e32
mov eax, dword [esp + 0x6c]
add esp, 4
mov dword [esp + 0x58], vtable.AnsiStringStorage.0
cmp eax, esi
je 0x45afd7
push eax
call fcn.00480e32
add esp, 4
mov edx, dword [esp + 0x5c]
push edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
call fcn.00480e32
mov dword [esp + 0x18fc], 0xffffffff
mov ecx, dword [esp + 0x18e0]
add esp, 4
mov dword [esp + 0xd4], vtable.HttpRequest.0
cmp ecx, esi
je 0x45b019
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov ecx, dword [esp + 0x18f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18d8]
xor ecx, esp
call fcn.004807f8
mov esp, ebp
pop ebp
ret