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

Disassembly:
push 0xffffffffffffffff
push 0x44ebfe
mov eax, dword fs:[0]
push eax
sub esp, 0x94
push ebx
push ebp
push esi
push edi
mov eax, dword [0x460164]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0xc0]
xor ebp, ebp
mov dword [eax], ebp
call fcn.00401f40
mov esi, dword [esp + 0xc4]
call fcn.00401f40
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x14]
mov dword [esp + 0xb0], ebp
call fcn.0041b880
cmp eax, ebp
mov eax, dword [esp + 0x14]
jl 0x419b24
cmp eax, ebp
je 0x419b24
mov ecx, dword [esp + 0xb8]
mov esi, dword [ecx]
push esi
mov word [esp + 0x98], 8
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp eax, ebp
mov dword [esp + 0x9c], eax
jne 0x4190ab
cmp esi, ebp
je 0x4190ab
push 0x8007000e
call fcn.00434e40
mov byte [esp + 0xb0], 1
cmp dword [esp + 0x14], ebp
jne 0x4190c3
push 0x80004003
call fcn.00434e40
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x94]
call fcn.004117f0
lea edx, [esp + 0x94]
push edx
movsx esi, ax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp esi, 0xffffffff
je 0x4190fd
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esp + 0x14]
jmp 0x419b2f
xor ebx, ebx
mov dword [esp + 0x6c], ebx
push ecx
mov byte [esp + 0xb4], 2
mov eax, esp
mov dword [esp + 0x58], esp
push eax
mov edi, str._SearchPlugin_DvmFlag
call fcn.00411220
mov byte [esp + 0xb4], 3
cmp dword [esp + 0x18], ebp
jne 0x419135
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x40]
push ecx
mov byte [esp + 0xb8], 2
call fcn.004115d0
mov eax, dword [eax]
cmp eax, ebp
je 0x41915f
mov edx, dword [eax]
mov ebx, eax
push eax
mov eax, dword [edx + 4]
mov dword [esp + 0x70], ebx
call eax
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x41916f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [0x461acc]
mov edx, dword [eax + 0xc]
mov ecx, 0x461acc
call edx
lea ebp, [eax + 0x10]
mov dword [esp + 0x44], ebp
test ebx, ebx
mov byte [esp + 0xb0], 4
je 0x4191c3
lea eax, [esp + 0x28]
mov edi, ebx
call fcn.004114f0
lea esi, [esp + 0x28]
mov byte [esp + 0xb0], 5
call fcn.004113f0
mov edx, dword [eax]
lea edi, [esp + 0x44]
call fcn.00401c10
mov edi, esi
call fcn.00411340
mov ebp, dword [esp + 0x44]
push 0x455b58
push ebp
call fcn.0043595f
mov ecx, dword [esp + 0xc4]
neg eax
sbb eax, eax
add eax, 1
xor esi, esi
mov dword [ecx], eax
mov dword [esp + 0x44], esi
add esp, 4
mov byte [esp + 0xb4], 6
mov edx, esp
mov dword [esp + 0x58], esp
push edx
mov edi, str.SearchPlugin
call fcn.00411220
mov byte [esp + 0xb4], 7
cmp dword [esp + 0x18], esi
jne 0x419218
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0xb8], 6
call fcn.004115d0
mov eax, dword [eax]
test eax, eax
je 0x419242
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov esi, eax
push eax
mov dword [esp + 0x40], esi
call edx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x419252
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test esi, esi
jne 0x4192a4
lea eax, [ebp - 0x10]
mov byte [esp + 0xb0], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41927a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
mov byte [esp + 0xb0], 0
je 0x41928e
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
jmp 0x419b31
xor ebp, ebp
mov dword [esp + 0x34], ebp
lea edi, [esp + 0x24]
mov byte [esp + 0xb0], 8
call fcn.004114b0
lea edi, [esp + 0x34]
call fcn.0041b820
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x4192d4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x34], ebp
jne 0x41931b
mov byte [esp + 0xb0], 4
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
lea ecx, [esp + 0x44]
call fcn.00401b10
cmp ebx, ebp
mov byte [esp + 0xb0], 0
je 0x419307
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esp + 0x14]
jmp 0x419b2f
mov dword [esp + 0x28], ebp
lea esi, [esp + 0x48]
call fcn.00401a40
mov dword [esp + 0x20], ebp
mov byte [esp + 0xb0], 0xb
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
lea edi, [esp + 0x74]
call fcn.004116f0
mov byte [esp + 0xb0], 0xc
mov eax, dword [eax]
cmp ebp, eax
je 0x419373
test eax, eax
mov esi, ebp
mov ebp, eax
mov dword [esp + 0x20], ebp
je 0x419367
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x419373
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
test ebp, ebp
mov byte [esp + 0xb0], 0xb
mov eax, dword [esp + 0x74]
setne bl
test eax, eax
je 0x419390
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
je 0x419a92
test ebp, ebp
jne 0x4193a6
push 0x80004003
call fcn.00434e40
lea eax, [esp + 0x84]
mov edi, ebp
call fcn.004116a0
mov ebx, eax
lea edi, [esp + 0x28]
call fcn.00411390
lea edi, [esp + 0x84]
call fcn.00411340
lea esi, [esp + 0x28]
call fcn.004113f0
mov edx, dword [eax]
test edx, edx
jne 0x4193de
xor eax, eax
jmp 0x4193f2
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4193e3
sub eax, esi
sar eax, 1
mov ebx, eax
push edx
lea eax, [esp + 0x4c]
call fcn.00401e40
mov eax, dword [esp + 0x48]
mov ecx, str.ShortName
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41942d
test dx, dx
je 0x419429
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41942d
add eax, 4
add ecx, 4
test dx, dx
jne 0x419407
xor eax, eax
jmp 0x419432
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419482
test ebp, ebp
jne 0x419444
push 0x80004003
call fcn.00434e40
lea eax, [esp + 0x68]
mov edi, ebp
call fcn.004114f0
lea esi, [esp + 0x68]
mov byte [esp + 0xb0], 0xd
call fcn.004113f0
mov edx, dword [eax]
mov edi, dword [esp + 0xc0]
call fcn.00401c10
mov edi, esi
mov byte [esp + 0xb0], 0xb
call fcn.00411340
jmp 0x419338
lea ecx, [esp + 0x48]
push ecx
mov ecx, 0x4563d4
call fcn.00408f70
test eax, eax
jne 0x419334
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
cmp dword [eax - 0xc], 0
jne 0x419334
xor ebx, ebx
mov dword [esp + 0x18], ebx
cmp ebp, ebx
mov byte [esp + 0xb0], 0xe
jne 0x4194c8
push 0x80004003
call fcn.00434e40
mov edi, dword [ebp]
lea esi, [esp + 0x18]
add edi, 0x44
call fcn.0041b860
mov ecx, dword [edi]
push eax
push ebp
call ecx
cmp eax, ebx
mov eax, dword [esp + 0x18]
jl 0x419a75
cmp eax, ebx
je 0x419a75
mov dword [esp + 0x60], ebx
push ecx
mov bl, 0xf
mov byte [esp + 0xb4], bl
mov edx, esp
mov dword [esp + 0x28], esp
push edx
mov edi, str.type
call fcn.00411220
mov byte [esp + 0xb4], 0x10
cmp dword [esp + 0x1c], 0
jne 0x419529
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0xb8], bl
call fcn.00411730
lea edi, [esp + 0x60]
call fcn.0041b820
mov eax, dword [esp + 0x88]
test eax, eax
je 0x41955d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebp, dword [esp + 0x60]
test ebp, ebp
je 0x41970d
lea eax, [esp + 0x2c]
mov edi, ebp
call fcn.004114f0
lea esi, [esp + 0x2c]
mov byte [esp + 0xb0], 0x11
call fcn.004113f0
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [eax]
call fcn.00401a60
lea edx, [esp + 0x30]
push edx
mov ecx, str.text_html
mov byte [esp + 0xb4], 0x12
call fcn.00408f70
test eax, eax
jne 0x419620
mov dword [esp + 0x64], eax
push ecx
mov bl, 0x13
mov byte [esp + 0xb4], bl
mov ecx, esp
mov dword [esp + 0x28], esp
push ecx
mov edi, str.template
call fcn.00411220
mov byte [esp + 0xb4], 0x14
cmp dword [esp + 0x1c], 0
jne 0x4195e4
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x84]
push edx
mov byte [esp + 0xb8], bl
call fcn.00411730
lea edi, [esp + 0x64]
call fcn.0041b820
mov eax, dword [esp + 0x80]
test eax, eax
je 0x419618
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x64]
test ebx, ebx
jne 0x419664
lea ecx, [esp + 0x30]
call fcn.00401b10
lea edi, [esp + 0x2c]
call fcn.00411340
mov byte [esp + 0xb0], 0xe
mov eax, dword [ebp]
mov ecx, dword [eax + 8]
push ebp
call ecx
mov byte [esp + 0xb0], 0xb
mov eax, dword [esp + 0x18]
test eax, eax
je 0x419334
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x419334
lea eax, [esp + 0x58]
mov edi, ebx
call fcn.004114f0
lea esi, [esp + 0x58]
mov byte [esp + 0xb0], 0x15
call fcn.004113f0
mov edx, dword [eax]
mov edi, dword [esp + 0xc4]
call fcn.00401c10
mov dword [esp + 0x5c], 0
mov byte [esp + 0xb0], 0x16
mov esi, dword [esp + 0x20]
lea edi, [esp + 0x8c]
call fcn.004114b0
lea edi, [esp + 0x5c]
call fcn.0041b820
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4196ca
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x5c], 0
jne 0x41972e
lea edi, [esp + 0x58]
call fcn.00411340
mov byte [esp + 0xb0], 0x12
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
lea ecx, [esp + 0x30]
call fcn.00401b10
lea edi, [esp + 0x2c]
call fcn.00411340
mov byte [esp + 0xb0], 0xe
mov edx, dword [ebp]
mov eax, dword [edx + 8]
push ebp
call eax
mov byte [esp + 0xb0], 0xb
mov eax, dword [esp + 0x18]
test eax, eax
je 0x419334
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x419334
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], 0
mov byte [esp + 0xb0], 0x17
jmp 0x419750
mov esi, dword [esp + 0x5c]
lea edi, [esp + 0x78]
call fcn.004116f0
lea edi, [esp + 0x38]
call fcn.0041b820
xor ebp, ebp
cmp dword [eax], ebp
mov byte [esp + 0xb0], 0x17
mov eax, dword [esp + 0x78]
setne bl
cmp eax, ebp
je 0x419785
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test bl, bl
je 0x4199f7
mov dword [esp + 0x1c], ebp
mov byte [esp + 0xb0], 0x19
mov eax, dword [esp + 0x38]
cmp eax, ebp
jne 0x4197af
push 0x80004003
call fcn.00434e40
mov eax, dword [esp + 0x38]
mov edi, dword [eax]
lea esi, [esp + 0x1c]
mov ebx, eax
add edi, 0x44
call fcn.0041b860
push eax
mov eax, dword [edi]
push ebx
call eax
cmp eax, ebp
mov eax, dword [esp + 0x1c]
jl 0x4199da
cmp eax, ebp
je 0x4199da
mov dword [esp + 0x70], ebp
push ecx
mov bl, 0x1a
mov byte [esp + 0xb4], bl
mov ecx, esp
mov dword [esp + 0x50], esp
push ecx
mov edi, str.name
call fcn.00411220
mov byte [esp + 0xb4], 0x1b
cmp dword [esp + 0x20], ebp
jne 0x419810
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x80]
push edx
mov byte [esp + 0xb8], bl
call fcn.00411730
lea edi, [esp + 0x70]
call fcn.0041b820
mov eax, dword [esp + 0x7c]
cmp eax, ebp
je 0x419841
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x70]
cmp ebx, ebp
jne 0x41985a
mov byte [esp + 0xb0], 0x17
mov eax, dword [esp + 0x1c]
jmp 0x4199e2
lea eax, [esp + 0x40]
mov edi, ebx
call fcn.004114f0
mov dword [esp + 0x4c], ebp
push ecx
mov byte [esp + 0xb4], 0x1d
mov eax, esp
mov dword [esp + 0x94], esp
push eax
mov edi, str.value
call fcn.00411220
mov byte [esp + 0xb4], 0x1e
cmp dword [esp + 0x20], ebp
jne 0x41989e
push 0x80004003
call fcn.00434e40
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x58]
push ecx
mov byte [esp + 0xb8], 0x1d
call fcn.00411730
lea edi, [esp + 0x4c]
call fcn.0041b820
mov eax, dword [esp + 0x54]
cmp eax, ebp
je 0x4198cd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x4198f3
lea edi, [esp + 0x40]
call fcn.00411340
mov byte [esp + 0xb0], 0x19
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
jmp 0x4199b9
lea eax, [esp + 0x50]
mov edi, ebp
call fcn.004114f0
mov edi, dword [esp + 0xc4]
mov byte [esp + 0xb0], 0x1f
cmp dword [esp + 0x24], 0
je 0x419952
mov edx, 0x4569f4
call fcn.0041b0b0
lea esi, [esp + 0x40]
call fcn.004113f0
mov edx, dword [eax]
call fcn.0041b0b0
mov edx, 0x4569f8
call fcn.0041b0b0
lea esi, [esp + 0x50]
call fcn.004113f0
mov edx, dword [eax]
call fcn.0041b0b0
mov dword [esp + 0x24], 0
jmp 0x419986
mov edx, 0x4569fc
call fcn.0041b0b0
lea esi, [esp + 0x40]
call fcn.004113f0
mov edx, dword [eax]
call fcn.0041b0b0
mov edx, 0x4569f8
call fcn.0041b0b0
lea esi, [esp + 0x50]
call fcn.004113f0
mov edx, dword [eax]
call fcn.0041b0b0
lea edi, [esp + 0x50]
call fcn.00411340
mov byte [esp + 0xb0], 0x1c
mov eax, dword [ebp]
mov ecx, dword [eax + 8]
push ebp
call ecx
lea edi, [esp + 0x40]
call fcn.00411340
mov byte [esp + 0xb0], 0x19
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [esp + 0xb0], 0x17
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x419750
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x419750
mov byte [esp + 0xb0], 0x17
cmp eax, ebp
je 0x419750
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x419750
mov byte [esp + 0xb0], 0x16
mov eax, dword [esp + 0x38]
cmp eax, ebp
je 0x419a0f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xb0], 0x15
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
lea edi, [esp + 0x58]
call fcn.00411340
mov byte [esp + 0xb0], 0x12
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x30]
call fcn.00401b10
lea edi, [esp + 0x2c]
call fcn.00411340
mov byte [esp + 0xb0], 0xe
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xb0], 0xb
mov eax, dword [esp + 0x18]
cmp eax, ebp
jmp 0x41971b
cmp eax, ebx
mov byte [esp + 0xb0], 0xb
je 0x419334
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x419338
test ebp, ebp
mov byte [esp + 0xb0], 0xa
je 0x419aa7
mov eax, dword [ebp]
mov ecx, dword [eax + 8]
push ebp
call ecx
lea ecx, [esp + 0x48]
call fcn.00401b10
lea edi, [esp + 0x28]
call fcn.00411340
mov byte [esp + 0xb0], 6
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0xb0], 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x44]
call fcn.00401b10
mov byte [esp + 0xb0], 0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x419b02
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xb0], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x419b1d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 1
jmp 0x419b3d
mov dword [esp + 0xb0], 0xffffffff
cmp eax, ebp
je 0x419b3b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10