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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1004daa0
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x10063068]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push esi
push edi
mov eax, dword [0x10063068]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov ebx, edx
xor edi, edi
mov esi, ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
cmp ebx, edi
je 0x1002042f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
push edi
push 0x10064a40
push 0x10063c9c
push edi
push ebx
mov dword [esp + 0xac], edi
call sub.MSVCR100.dll___RTDynamicCast
add esp, 0x14
test byte [0x100663d0], 1
mov ebx, eax
mov dword [esp + 0x20], ebx
jne 0x10020483
or dword [0x100663d0], 1
mov byte [esp + 0x98], 1
call fcn.1001ca20
push 0x1004e4a0
call fcn.10045bf9
add esp, 4
mov byte [esp + 0x98], 0
push esi
push ebx
mov eax, 0x10066318
call fcn.1001d130
lea edx, [esp + 0x58]
push edx
call fcn.10024370
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov edx, 2
lea eax, [esp + 0x58]
mov byte [esp + 0x98], 4
call fcn.10024660
mov ebx, 0x10
cmp eax, edi
je 0x10020558
push edi
push 0x100655f0
push 0x100655d4
push edi
push eax
call sub.MSVCR100.dll___RTDynamicCast
add esp, 0x14
cmp eax, edi
je 0x10020558
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov byte [esp + 0x98], 5
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
mov dword [esp + 0x20], ebx
call edx
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x30]
call fcn.1001a940
mov byte [esp + 0x98], 4
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x10020558
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.10014240
mov eax, dword [esp + 0x78]
add esp, 0xc
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, 6
lea eax, [esp + 0x58]
call fcn.10024660
cmp eax, edi
je 0x100205ff
push edi
push 0x100655f0
push 0x100655d4
push edi
push eax
call sub.MSVCR100.dll___RTDynamicCast
add esp, 0x14
cmp eax, edi
je 0x100205ff
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov byte [esp + 0x98], 6
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
mov dword [esp + 0x20], ebx
call edx
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x44]
call fcn.10021680
mov byte [esp + 0x98], 4
mov ebx, dword [esp + 0x6c]
cmp ebx, edi
je 0x100205ff
mov esi, dword [esp + 0x70]
cmp ebx, esi
je 0x100205f1
lea ebx, [ebx]
push ebx
call fcn.10021b40
add ebx, 0x3c
cmp ebx, esi
jne 0x100205e0
mov ebx, dword [esp + 0x6c]
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov esi, dword [esp + 0x30]
add esp, 4
push 0x20
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
mov byte [esp + 0x98], 7
cmp ebx, edi
je 0x10020682
xor ecx, ecx
push 0x10
mov eax, str.priv.dog.preload
lea esi, [esp + 0x70]
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], edi
mov word [esp + 0x70], cx
call fcn.1000a770
mov dword [esp + 0x24], 1
mov dword [esp + 0x98], 9
lea ecx, [ebx + 4]
mov dword [ebx], vtable.CSinkPreloadJS.0
push edi
mov eax, esi
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.10009fd0
mov esi, dword [esp + 0x2c]
mov edi, ebx
mov dword [esp + 0x98], 0xa
mov ebx, dword [esi + 0x148]
mov dword [esp + 0x18], edi
add ebx, 0xfffffffc
sub ebx, dword [esi + 0x144]
lea edi, [esi + 0x144]
lea ecx, [esp + 0x18]
push ecx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x100206d2
cmp eax, ecx
je 0x100206d2
push ecx
push edx
call fcn.10021c00
add esp, 8
mov dword [esp + 0x98], 4
test byte [esp + 0x24], 1
je 0x10020701
and dword [esp + 0x24], 0xfffffffe
cmp dword [esp + 0x80], 8
jb 0x10020701
mov edx, dword [esp + 0x6c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 0x3c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
mov byte [esp + 0x98], 0xb
test ebx, ebx
je 0x1002079b
xor eax, eax
mov word [esp + 0x6c], ax
push 0x12
mov eax, str.priv.dog.extension
lea esi, [esp + 0x70]
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], 0
call fcn.1000a770
or dword [esp + 0x24], 2
mov dword [esp + 0x98], 0xd
xor esi, esi
lea ecx, [ebx + 4]
mov dword [ebx], vtable.CSinkPreloadJS.0
push esi
lea eax, [esp + 0x70]
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], esi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.10009fd0
mov dword [ebx], vtable.CSinkAjax.0
xor ecx, ecx
mov dword [ebx + 0x34], 7
mov dword [ebx + 0x30], esi
mov word [ebx + 0x20], cx
jmp 0x1002079d
xor ebx, ebx
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x18], ebx
mov ebx, dword [esi + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea edx, [esp + 0x18]
push edx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x100207e7
cmp eax, ecx
je 0x100207e7
push ecx
push edx
call fcn.10021c00
add esp, 8
mov dword [esp + 0x98], 4
test byte [esp + 0x24], 2
je 0x10020811
cmp dword [esp + 0x80], 8
jb 0x10020811
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 8
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x10020835
mov ecx, dword [esp + 0x20]
mov cl, byte [ecx + 0x4ada]
mov dword [eax], vtable.CSinkSearchEngine.0
mov byte [eax + 4], cl
jmp 0x10020837
xor eax, eax
mov ebx, dword [esi + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
push edx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x10020872
cmp eax, ecx
je 0x10020872
push ecx
push edx
call fcn.10021c00
add esp, 8
push 8
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x10020896
mov ecx, dword [esp + 0x20]
mov cl, byte [ecx + 0x4adb]
mov byte [eax + 4], cl
mov dword [eax], vtable.CSinkWhiteList.0
jmp 0x10020898
xor eax, eax
mov ebx, dword [esi + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
push edx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x100208d3
cmp eax, ecx
je 0x100208d3
push ecx
push edx
call fcn.10021c00
add esp, 8
push 0x20
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x10020922
mov byte [esp + 0x98], 0x11
mov edx, dword [esp + 0x20]
lea ecx, [ebx + 4]
xor eax, eax
mov dword [ebx], vtable.CSinkDomainPageCheck.0
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
add edx, 0x4af4
mov word [ecx], ax
push edx
or eax, 0xffffffff
call fcn.10009fd0
jmp 0x10020924
xor ebx, ebx
mov byte [esp + 0x98], 4
mov dword [esp + 0x18], ebx
mov ebx, dword [esi + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea eax, [esp + 0x18]
push eax
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x10020967
cmp eax, ecx
je 0x10020967
push ecx
push edx
call fcn.10021c00
add esp, 8
push 0x18
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x100209b0
mov eax, dword [esp + 0x20]
mov cl, byte [eax + 0x4adc]
mov byte [esp + 0x28], cl
lea edx, [ebx + 4]
mov byte [esp + 0x98], 0x13
lea ecx, [eax + 0x4ae0]
push edx
mov dword [ebx], vtable.CSinkExclusion.0
call fcn.10011c70
mov al, byte [esp + 0x28]
mov byte [ebx + 0x14], al
jmp 0x100209b2
xor ebx, ebx
mov byte [esp + 0x98], 4
mov dword [esp + 0x18], ebx
mov ebx, dword [esi + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea ecx, [esp + 0x18]
push ecx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x100209f5
cmp eax, ecx
je 0x100209f5
push ecx
push edx
call fcn.10021c00
add esp, 8
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x44]
je 0x10020b30
push 0x40
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
je 0x10020a7e
mov byte [esp + 0x98], 0x15
mov ebx, dword [esp + 0x20]
lea edx, [esi + 4]
lea ecx, [ebx + 0x1c]
push edx
mov dword [esi], vtable.CSinkRegexp.0
call fcn.10011c70
lea eax, [esi + 0x14]
push eax
lea ecx, [ebx + 0x2c]
mov byte [esp + 0x9c], 0x16
call fcn.10011c70
xor edx, edx
lea ecx, [esi + 0x24]
mov byte [esp + 0x98], 0x17
push edx
mov eax, ebx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
or eax, 0xffffffff
mov word [ecx], dx
call fcn.10009fd0
mov dword [esp + 0x24], esi
jmp 0x10020a86
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x98], 4
mov ebx, dword [ecx + 0x148]
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
add ebx, 0xfffffffc
sub ebx, edx
sar ebx, 2
cmp eax, ecx
jne 0x10020ae9
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x10020b6b
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x10020ae9
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x10020ad9
xor ecx, ecx
jmp 0x10020adb
add ecx, edx
cmp ecx, eax
jae 0x10020ae1
mov ecx, eax
push ecx
mov esi, edi
call fcn.1000efc0
mov eax, dword [edi + 4]
test eax, eax
je 0x10020af6
mov edx, dword [esp + 0x24]
mov dword [eax], edx
add dword [edi + 4], 4
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x10020b17
cmp eax, ecx
je 0x10020b17
push ecx
push edx
call fcn.10021c00
add esp, 8
mov eax, dword [esp + 0x20]
add eax, 0x3c
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x44]
jne 0x10020a07
mov esi, dword [esp + 0x2c]
push 0x40
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
xor ecx, ecx
cmp eax, ecx
je 0x10020b76
mov dword [eax], vtable.CSinkGetReplacement.0
mov dword [eax + 4], 0xffffffff
mov edx, 7
xor ebx, ebx
mov dword [eax + 0x1c], edx
mov dword [eax + 0x18], ecx
mov word [eax + 8], bx
mov dword [eax + 0x38], edx
mov dword [eax + 0x34], ecx
mov word [eax + 0x24], cx
jmp 0x10020b78
push str.vector_T__too_long
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const__]
xor eax, eax
mov byte [esp + 0x98], 4
mov esi, dword [esi + 0x148]
add esi, 0xfffffffc
sub esi, dword [edi]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
push edx
mov eax, edi
sar esi, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + esi*4]
cmp edx, eax
je 0x10020bbb
cmp eax, ecx
je 0x10020bbb
push ecx
push edx
call fcn.10021c00
add esp, 8
mov esi, dword [esp + 0x30]
cmp esi, dword [esp + 0x34]
je 0x10020c3e
push 0xc
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x10020bf4
mov ecx, dword [esi]
cmp ecx, 1
sete dl
cmp dword [esi + 4], 0
mov dword [eax], vtable.CSinkCategory.0
setg bl
mov dword [eax + 4], ecx
mov byte [eax + 8], bl
mov byte [eax + 9], dl
jmp 0x10020bf6
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x148]
add ebx, 0xfffffffc
sub ebx, dword [edi]
lea ecx, [esp + 0x18]
push ecx
mov eax, edi
sar ebx, 2
call fcn.100219f0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [ecx - 4]
lea edx, [edx + ebx*4]
cmp edx, eax
je 0x10020c35
cmp eax, ecx
je 0x10020c35
push ecx
push edx
call fcn.10021c00
add esp, 8
add esi, 0x3c
cmp esi, dword [esp + 0x34]
jne 0x10020bc5
xor ebx, ebx
mov byte [esp + 0x98], 3
cmp dword [esp + 0x40], ebx
je 0x10020c7f
lea ecx, [esp + 0x40]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
cmp esi, edi
je 0x10020c75
push esi
call fcn.10021b40
add esi, 0x3c
cmp esi, edi
jne 0x10020c64
mov esi, dword [esp + 0x40]
push esi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [esp + 0x98], 2
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x30], ebx
je 0x10020cc8
lea ecx, [esp + 0x30]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
call fcn.10014240
mov edx, dword [esp + 0x3c]
add esp, 0xc
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
lea eax, [esp + 0x5c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], vtable.CFilterModel.0
mov dword [esp + 0x18], eax
mov byte [esp + 0x98], 0x1b
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [esp + 0x28]
lea eax, [esp + 0x64]
call fcn.100258e0
mov byte [esp + 0x98], 0
mov ecx, dword [esp + 0x60]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [esp + 0x98], 0xffffffff
cmp eax, edi
je 0x10020d34
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.10045a28
mov esp, ebp
pop ebp
ret