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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x750
mov edi, dword [ebp + 8]
mov esi, dword [edx + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ecx
mov ebx, edi
shl ebx, 4
cmp edi, 1
mov dword [esp], ebx
je 0x4b1acf
lea eax, [edx + 0x18]
lea ecx, [ebx - 0x10]
mov edx, dword [eax]
cmp esi, edx
cmovae esi, edx
add eax, 0x10
add ecx, 0xfffffff0
jne 0x4b1ac0
movaps xmm0, xmmword [0x560230]
mov edx, dword [esp]
test edi, edi
mov byte [esp + 0x8a], 0
mov dword [esp + 0x68], 4
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 2
mov word [esp + 0x88], 0
mov dword [esp + 0x3c], esi
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x64], 0x2020200
mov byte [esp + 0x8c], 0
je 0x4b1c3a
mov eax, dword [esp + 0x10]
xor ecx, ecx
add edx, eax
mov dword [esp], edx
lea ebx, [eax + 0x10]
test cl, cl
jne 0x4b1c20
nop word cs:[eax + eax]
nop dword [eax]
mov edi, dword [esp + 0x70]
cmp edi, 0x80
jb 0x4b1ba0
mov byte [esp + 0x8c], 1
mov byte [esp + 0x8a], 0
mov esi, dword [esp + 0x68]
mov dword [esp + 0x70], 0
add esi, 4
jmp 0x4b1b86
add esi, 0xc
dec edi
je 0x4b1c00
cmp dword [esi], 0
je 0x4b1b80
push dword [esi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1b80
mov esi, dword [eax + 8]
test esi, esi
je 0x4b1bb8
mov edx, dword [eax]
lea ecx, [esp + 0x68]
push esi
call sym.aho_corasick::packed::pattern::Patterns::add::h464c4b7cb4317b00
add esp, 4
jmp 0x4b1c1d
mov byte [esp + 0x8c], 1
mov byte [esp + 0x8a], 0
test edi, edi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x70], 0
je 0x4b1c00
add esi, 4
jmp 0x4b1be6
add esi, 0xc
dec edi
je 0x4b1c00
cmp dword [esi], 0
je 0x4b1be0
push dword [esi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1be0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xffffffff
mov word [esp + 0x88], 0
mov edx, dword [esp]
cmp ebx, edx
je 0x4b1c3a
movzx ecx, byte [esp + 0x8c]
mov eax, ebx
lea ebx, [eax + 0x10]
test cl, cl
jne 0x4b1c20
jmp 0x4b1b50
lea ecx, [esp + 0x1c8]
lea edx, [esp + 0x64]
call sym.aho_corasick::packed::api::Builder::build::h13e750a78c2cdc2c
movzx eax, byte [esp + 0x208]
cmp al, 2
jne 0x4b1ca1
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x2c]
test esi, esi
mov byte [eax + 0x1a0], 2
je 0x4b1d7d
mov edi, dword [esp + 0x68]
add edi, 4
jmp 0x4b1c8a
add edi, 0xc
dec esi
je 0x4b1d7d
cmp dword [edi], 0
je 0x4b1c80
push dword [edi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1c80
mov byte [esp + 7], al
mov eax, dword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x1d4]
mov ecx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x70]
movzx ebx, byte [esp + 0x20b]
mov edx, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1ec]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1cc]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x1dc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1f4]
test esi, esi
mov byte [esp + 0xa], bl
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1d0]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esp + 0x1f8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1e4]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esp + 0x200]
mov dword [esp], eax
movzx eax, word [esp + 0x209]
movsd qword [esp + 0x48], xmm0
mov word [esp + 8], ax
je 0x4b1da9
mov ebx, dword [esp + 0x68]
add ebx, 4
jmp 0x4b1d66
add ebx, 0xc
dec esi
je 0x4b1da9
cmp dword [ebx], 0
je 0x4b1d60
push dword [ebx - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1d60
cmp dword [esp + 0x6c], 0
je 0x4b1d95
push dword [esp + 0x68]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x78], 0
je 0x4b1f82
push dword [esp + 0x74]
jmp 0x4b1f75
cmp dword [esp + 0x6c], 0
mov esi, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
je 0x4b1dc8
push dword [esp + 0x68]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x78], 0
je 0x4b1de0
push dword [esp + 0x74]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0x30], 3
mov byte [esp + 0x34], 1
mov word [esp + 0x38], 0x102
mov word [esp + 0x35], 0
lea ecx, [esp + 0x1c8]
lea edx, [esp + 0x30]
push ebx
push esi
call sym.aho_corasick::nfa::noncontiguous::Builder::build::hbc0ef23deba7d90c
add esp, 8
cmp dword [esp + 0x1c8], 0
mov ebx, dword [esp + 0x2c]
je 0x4b1e61
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1d8]
movsd qword [esp + 0x338], xmm1
movsd qword [esp + 0x340], xmm2
movsd qword [esp + 0x348], xmm0
mov dword [esp + 0x330], 1
jmp 0x4b1ec2
lea eax, [esp + 0x1cc]
push 0x164
push eax
lea esi, [esp + 0x6c]
push esi
call sym._memcpy
add esp, 0xc
lea eax, [esp + 0x5e8]
push 0x164
push esi
push eax
mov esi, eax
call sym._memcpy
add esp, 0xc
mov edx, dword [esp + 0x38]
movzx eax, byte [esp + 0x39]
lea ecx, [esp + 0x330]
push esi
push eax
call sym.aho_corasick::dfa::Builder::build_from_noncontiguous::h16d588b86000c829
add esp, 8
mov ecx, esi
call sym.core::ptr::drop_in_place_LT_aho_corasick..nfa..noncontiguous..NFA_GT_::h76602a0109d346ff
cmp dword [esp + 0x330], 0
je 0x4b1f8a
lea ecx, [esp + 0x330]
call sym.__ZN4core3ptr111drop_in_place_LT_core..result..Result_LT_aho_corasick..dfa..DFA_C_aho_corasick..util..error..BuildError_GT__GT
mov byte [ebx + 0x1a0], 2
mov ebx, dword [esp + 0x20]
test edi, edi
je 0x4b1f0d
mov eax, dword [esp]
lea esi, [eax + 4]
jmp 0x4b1ef6
add esi, 0xc
dec edi
je 0x4b1f0d
cmp dword [esi], 0
je 0x4b1ef0
push dword [esi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1ef0
cmp dword [esp + 0x18], 0
je 0x4b1f24
push dword [esp]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x1c], 0
mov edi, dword [esp + 0x28]
je 0x4b1f40
push dword [esp + 0x14]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
test ebx, ebx
je 0x4b1f6d
lea esi, [edi + 4]
jmp 0x4b1f56
add esi, 0xc
dec ebx
je 0x4b1f6d
cmp dword [esi], 0
je 0x4b1f50
push dword [esi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x4b1f50
cmp dword [esp + 0x24], 0
je 0x4b1f82
push edi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea esi, [esp + 0x490]
lea eax, [esp + 0x334]
push 0x158
push eax
push esi
call sym._memcpy
add esp, 0xc
movzx ecx, byte [esp + 0x48c]
movzx eax, word [esp + 0x48d]
movzx edx, byte [esp + 0x48f]
cmp cl, 3
mov word [esp + 0xc], ax
mov byte [esp + 0xe], dl
je 0x4b1ece
lea eax, [ebx + 4]
push 0x158
push esi
push eax
mov byte [esp + 0x1c], cl
call sym._memcpy
add esp, 0xc
movzx eax, word [esp + 0xc]
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
mov edx, dword [esp + 0x14]
movzx ecx, byte [esp + 7]
movzx esi, word [esp + 8]
mov ch, byte [esp + 0xa]
mov word [ebx + 0x15d], ax
movzx eax, byte [esp + 0xe]
mov byte [ebx + 0x15f], al
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x160], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x164], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x168], eax
mov eax, dword [esp]
movsd qword [ebx + 0x16c], xmm0
movsd qword [ebx + 0x174], xmm1
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
mov dword [ebx + 0x17c], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x180], eax
mov dword [ebx + 0x184], edi
mov edi, dword [esp + 0x1c]
mov dword [ebx + 0x188], edx
mov edx, dword [esp + 0x3c]
mov dword [ebx + 0x18c], edi
movsd qword [ebx + 0x190], xmm0
movsd qword [ebx + 0x198], xmm1
mov byte [ebx + 0x1a0], cl
mov cl, byte [esp + 0x10]
mov word [ebx + 0x1a1], si
mov byte [ebx + 0x1a3], ch
mov dword [ebx], edx
mov byte [ebx + 0x15c], cl
jmp 0x4b1f82