Function at 0x100186b0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x1003e620]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, ebx
imul eax, eax, 0x2a0
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xd4], eax
cmp ebx, eax
ja 0x10018b91
mov esi, dword [ebp - 0xb0]
xor edx, edx
cmp ebx, 0x505a
ja 0x100189ee
je 0x100189e3
cmp ebx, 0x1be4
ja 0x10018958
je 0x10018947
cmp ebx, 0xf9
ja 0x10018785
je 0x10018b0f
cmp ebx, 0x54
je 0x10018774
cmp ebx, 0xf2
jne 0x10018bce
push 0x20
call fcn.100279e1
mov esi, eax
add esp, 4
mov dword [ebp - 0xb0], esi
test esi, esi
je 0x10018c02
mov edx, dword [edi]
mov eax, dword [ebp - 0xb4]
mov dword [esi + 8], edx
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
jmp 0x10018bce
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], edx
jmp 0x10018bce
cmp ebx, 0xe1c
jne 0x10018bce
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
cmp eax, edx
je 0x1001883d
mov ecx, dword [ebp - 0xc4]
cmp dword [ecx + 8], eax
je 0x1001883d
mov esi, 0x96
mov ebx, ecx
mov eax, esi
sub eax, 0x95
je 0x100187da
dec eax
jne 0x10018830
mov eax, dword [ebx + 8]
test eax, eax
je 0x10018830
mov edx, dword [ebx]
push edx
push 0x5e
push eax
call fcn.10003830
add esp, 0xc
jmp 0x10018830
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov dword [ebx + 8], ecx
mov edx, dword [eax]
push 0
push 0
add edx, 0xc
push edx
push 0xdd
call fcn.100037c0
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push eax
lea edx, [ebp - 0xac]
push 0x70
push edx
mov dword [ebp - 0xac], ecx
call fcn.100162f0
add esp, 0x1c
mov byte [edi + 0x51], al
test al, al
mov eax, 0x100164a0
jne 0x1001882a
mov eax, 0x10016c50
mov dword [edi + 0xe0], eax
dec esi
cmp esi, 0x94
ja 0x100187b7
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
test eax, eax
je 0x1001893d
cmp dword [edi + 0xc], eax
je 0x1001893d
mov ebx, dword [ebp - 0xc0]
mov esi, 3
cmp esi, 3
ja case.default.0x1001886a
jmp dword [esi*4 + 0x10018c4c]
cmc
in al, 0x64
and dword [0xff488d8b], esi
invalid
or dh, 0xf7
cmp eax, dword [ebp - 0x75]
lea ecx, [eax - 1]
invalid
mov ebx, dword [edi + 4]
jmp case.default.0x1001886a
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x1001890d
mov dword [edi + 0xc8], eax
dec esi
lea edx, [esi + 0xcd]
cmp edx, 0xcc
ja 0x10018861
mov dword [ebp - 0xc0], ebx
mov ebx, 0xe1c
jmp 0x10018bc8
push str._b_Registration_for___1_:__b__br__br_
push 0x1003455f
push 0
push 0x1003455f
push 0x100345f0
push 2
mov dword [ebp - 0xc0], ebx
call fcn.100021f0
add esp, 0x18
mov dword [ebp - 0xc8], 7
mov ebx, 0xe1c
jmp 0x10018bc8
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xa8], eax
jmp 0x10018bce
mov eax, ebx
sub eax, 0x28a6
je 0x100189d8
sub eax, 0x106
je 0x10018b91
sub eax, 0x27
jne 0x10018bce
lea eax, [ebp - 0x24]
add eax, 0xfffffffe
jmp 0x10018980
mov cx, word [eax + 2]
add eax, 2
cmp cx, dx
jne 0x10018980
mov ecx, dword [0x10037b60]
mov edx, dword [0x10037b64]
mov dword [eax], ecx
push 8
mov dword [eax + 4], edx
lea eax, [ebp - 0x16]
push 0x10037b58
push eax
call fcn.10026900
push 6
lea ecx, [ebp - 0x10]
push 0x10037b50
push ecx
call fcn.10026900
mov edx, dword [0x10037b48]
mov ax, word [0x10037b4c]
add esp, 0x18
mov dword [ebp - 0xc], edx
mov word [ebp - 8], ax
jmp 0x10018bce
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edx
jmp 0x10018bce
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edx
jmp 0x10018bce
cmp ebx, 0x9fc2
ja 0x10018a9f
je 0x10018b91
cmp ebx, 0x52ad
je 0x10018a72
cmp ebx, 0x780e
je 0x10018a50
cmp ebx, 0x7b87
jne 0x10018bce
call fcn.10003770
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10018a23
lea edi, [ebp - 0xa4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10018a33
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10018bc2
push esi
push 0x7e
push 0
push 0
call fcn.10009cd0
add esp, 0x10
test eax, eax
je 0x10018bf9
mov dword [ebp - 0xa8], esi
jmp 0x10018bce
push 0
push 0x99
push 0
call fcn.10017970
lea edx, [ebp - 0xa4]
add esp, 0xc
sub edx, eax
jmp 0x10018a90
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10018a90
jmp 0x10018bce
cmp ebx, 0xa461
je 0x10018ba8
cmp ebx, 0xcd3b
je 0x10018b5d
cmp ebx, 0xf615
jne 0x10018bce
mov esi, 0xea
jmp 0x10018ad0
mov eax, esi
sub eax, 0xe9
je 0x10018b91
dec eax
jne 0x10018b06
mov ecx, dword [ebp - 0xb4]
cmp byte [ecx], al
jne 0x10018c15
mov edx, dword [ebp - 0xcc]
push edx
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_SaferiIsExecutableFileType]
mov byte [ebp - 0xa8], 1
dec esi
cmp esi, 0xe8
ja 0x10018ad0
push 4
lea ecx, [ebp - 0x24]
push 0x10037b44
push ecx
call fcn.10026900
push 2
lea edx, [ebp - 0x22]
push 0x10037b40
push edx
call fcn.1002883c
add esp, 0x18
xor eax, eax
jmp 0x10018b40
movzx ecx, word [eax + 0x10037b3c]
mov word [ebp + eax - 0x20], cx
add eax, 2
test cx, cx
jne 0x10018b40
mov dword [ebp - 0x1e], 0x65
jmp 0x10018bc8
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xac]
push ecx
push 0x4e
push edi
mov byte [ebp - 0xcc], 0
mov dword [ebp - 0xac], reloc.WS2_32.dll_bind
call fcn.1000fb70
add esp, 0x10
test al, al
jne 0x10018bce
mov byte [ebp - 0xa8], al
mov eax, dword [ebp - 0xa8]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027670
mov esp, ebp
pop ebp
ret
lea edi, [ebp - 0xa4]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10018bb0
mov dx, word [str.maN]
mov word [edi], dx
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xb0]
mov eax, dword [ebp + 0xc]
imul eax, eax, 0x2a
add ebx, eax
cmp ebx, dword [ebp - 0xd4]
jbe 0x10018700
mov eax, dword [ebp - 0xa8]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027670
mov esp, ebp
pop ebp
ret
push esi
call fcn.100271f9
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027670
mov esp, ebp
pop ebp
ret
push 0
push 0x5b
push 0
push 0
call fcn.10007540
push edi
push 0x79
push eax
call fcn.1001d550
mov ecx, dword [ebp - 4]
add esp, 0x1c
pop edi
mov byte [ebp - 0xa8], al
mov eax, dword [ebp - 0xa8]
pop esi
xor ecx, ebp
pop ebx
call fcn.10027670
mov esp, ebp
pop ebp
ret