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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x520
call 0x4791a4
pop eax
mov dword [esp + 0xac], eax
mov eax, dword [ebp + 0xc]
test eax, eax
js 0x47934e
test byte [edx + 0xb], 1
mov ebx, edx
je 0x4791c9
cmp byte [ebx + 0xd], 2
jne 0x4795a7
cmp dword [ebx + 0x20], 0
mov dword [esp + 0x7c], ecx
jne 0x47c151
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov edi, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x34]
mov dword [ebx + 0x3c], 0
test edi, edi
je 0x479230
add esi, 8
jmp 0x479206
add esi, 0x10
dec edi
je 0x479230
movzx eax, word [esi - 8]
cmp eax, 7
je 0x479219
cmp eax, 6
je 0x479219
cmp eax, 2
jne 0x479200
cmp dword [esi], 0
je 0x479200
push dword [esi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x479200
mov dword [ebx + 0x48], 0
mov dword [esp + 0xc], ebx
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x4c]
mov dword [ebx + 0x54], 0
test ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ecx
je 0x4792d3
xor esi, esi
jmp 0x479266
cmp esi, dword [esp + 0x20]
je 0x4792d3
mov eax, dword [esp + 0x10]
lea ebx, [esi + esi*2]
mov dword [esp + 4], esi
mov esi, dword [eax + ebx*4 + 8]
test esi, esi
je 0x4792b0
mov eax, dword [esp + 0x10]
mov edi, dword [eax + ebx*4]
jmp 0x479296
add edi, 8
dec esi
je 0x4792b0
mov eax, dword [edi]
test eax, eax
je 0x479290
lock dec dword [eax]
jne 0x479290
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h03747aea754929d2
jmp 0x479290
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 4]
lea eax, [eax + ebx*4]
inc esi
cmp dword [eax + 4], 0
je 0x479260
push dword [eax]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x479260
mov esi, dword [esp + 0xc]
mov dword [esi + 0x58], 0
inc dword [esi + 0x20]
jne 0x47c169
cmp byte [esi + 0xa], 0
mov ecx, 0xa
lea edi, [esi + 0x20]
setne byte [esi + 0x5c]
movzx eax, byte [esi + 0xb]
and al, 1
mov byte [esi + 0x5d], al
cmp byte [esi + 8], 0
movzx eax, byte [esi + 9]
cmovne ecx, eax
xor eax, eax
mov byte [esi + 0x5e], cl
mov dword [esi + 0x20], 0xffffffff
mov edx, dword [esi]
mov ecx, dword [esi + 4]
cmp edx, 2
cmove edx, eax
test edx, edx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], ecx
je 0x479363
mov edx, dword [esi + 0x3c]
shl edx, 4
cmp edx, ecx
jbe 0x479363
mov eax, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov dword [eax], 0x24
mov dword [edi], 0
jmp 0x479fbe
mov dword [ecx], 0x22
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x7fffffff
jmp 0x479fbe
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
lea ecx, [esi + 0x24]
mov dword [edi], 0
mov dword [esp + 0x10], ecx
lea esi, [ebx + edx*4]
shl edx, 2
nop dword [eax]
cmp edx, eax
je 0x4794a7
mov ecx, dword [ebx + eax]
add eax, 4
mov ecx, dword [ecx + 0x18]
test byte [ecx + 0x1e], 1
jne 0x479380
lea ecx, [esp + 0x80]
lea edx, [esp + 0x228]
mov dword [esp + 0x228], 1
mov dword [esp + 0x22c], 0
mov dword [esp + 0x230], 0
call sym.regex_syntax::hir::interval::IntervalSet_LT_I_GT_::new::h8df7cd8c539f6065
mov edx, dword [esp + 0x88]
mov dword [esp + 0x68], edi
cmp edx, dword [esp + 0x84]
jne 0x4793f2
lea ecx, [esp + 0x80]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h6b7bd6742b4845d5
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov word [eax + edx*2], 0xff00
inc edx
mov dword [esp + 0x88], edx
call sym.regex_syntax::hir::interval::IntervalSet_LT_I_GT_::canonicalize::h241c78e4db7cf267
mov byte [esp + 0x8c], 0
lea edi, [esp + 0x3c0]
lea edx, [esp + 0x228]
movq xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x80]
mov ecx, edi
movq qword [esp + 0x234], xmm0
movsd qword [esp + 0x22c], xmm1
mov dword [esp + 0x228], 1
call sym.regex_syntax::hir::Hir::class::hcfef4313227a1923
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0xb0]
push 0
push 0
push edi
call sym.regex_automata::nfa::thompson::compiler::Compiler::c_at_least::h185bbf1b8cfe7efd
add esp, 0xc
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x47967d
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
lea ecx, [esp + 0x3c0]
mov dword [esp + 4], eax
call sym.core::ptr::drop_in_place_LT_regex_syntax..hir..Hir_GT_::h3b8335f51bdd1d52
jmp 0x4794fe
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x3c0]
mov dword [edi], 0xffffffff
mov dword [esp + 0x3c4], 0
mov word [esp + 0x3c0], 0
lea ecx, [esp + 0xb0]
push eax
call sym.regex_automata::nfa::thompson::builder::Builder::add::h2a04e8d07243765a
add esp, 4
inc dword [edi]
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x4795b2
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0xb4]
mov dword [esp + 4], edi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x380], ebx
lea ebx, [esp + 0x3c0]
lea edx, [esp + 0x380]
mov dword [esp + 0x384], esi
mov ecx, ebx
mov dword [esp + 0x388], eax
call sym.__ZN102__LT_core..iter..adapters..map..Map_LT_I_C_F_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h77903ea58
mov eax, dword [esp + 0x3c0]
cmp eax, 0x28
jne 0x479629
mov esi, dword [esp + 0x68]
cmp dword [esi], 0
jne 0x47c216
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x80]
mov dword [esi], 0xffffffff
mov word [esp + 0x80], 8
lea ecx, [esp + 0xb0]
push eax
call sym.regex_automata::nfa::thompson::builder::Builder::add::h2a04e8d07243765a
add esp, 4
inc dword [esi]
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479788
movdqu xmm0, xmmword [esp + 0xb4]
mov eax, 0x27
pshufd xmm2, xmm0, 0x50
cmp eax, 0x27
je 0x479814
jmp 0x479f55
mov dword [ecx], 0x26
jmp 0x479fbe
mov edx, dword [esp + 0x7c]
movsd xmm1, qword [esp + 0xdc]
movsd xmm2, qword [esp + 0xd4]
mov ecx, dword [esp + 0xec]
movq xmm0, qword [esp + 0xe4]
movsd qword [edx + 0x2c], xmm1
movsd xmm1, qword [esp + 0xcc]
movsd qword [edx + 0x24], xmm2
movq xmm2, qword [esp + 0xbc]
mov dword [edx + 0x3c], ecx
movq qword [edx + 0x34], xmm0
movsd qword [edx + 0x1c], xmm1
movsd xmm1, qword [esp + 0xc4]
movq qword [edx + 0xc], xmm2
movsd qword [edx + 0x14], xmm1
movq xmm1, qword [esp + 0xb4]
mov dword [edx], eax
movq qword [edx + 4], xmm1
jmp 0x479fbe
movq xmm2, qword [esp + 0x3c4]
cmp eax, 0x27
jne 0x479700
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x380]
movdqa xmmword [esp + 0x20], xmm2
call sym.__ZN102__LT_core..iter..adapters..map..Map_LT_I_C_F_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h77903ea58
mov eax, dword [esp + 0xb0]
cmp eax, 0x28
jne 0x479c58
movdqa xmm2, xmmword [esp + 0x20]
mov eax, 0x27
cmp eax, 0x27
je 0x479814
jmp 0x479f55
mov edx, dword [esp + 0x7c]
movsd xmm1, qword [esp + 0xdc]
movsd xmm2, qword [esp + 0xd4]
mov ecx, dword [esp + 0xec]
movq xmm0, qword [esp + 0xe4]
movsd qword [edx + 0x2c], xmm1
movsd xmm1, qword [esp + 0xcc]
movsd qword [edx + 0x24], xmm2
movq xmm2, qword [esp + 0xbc]
mov dword [edx + 0x3c], ecx
lea ecx, [esp + 0x3c0]
movq qword [edx + 0x34], xmm0
movsd qword [edx + 0x1c], xmm1
movsd xmm1, qword [esp + 0xc4]
movq qword [edx + 0xc], xmm2
movsd qword [edx + 0x14], xmm1
movq xmm1, qword [esp + 0xb4]
mov dword [edx], eax
movq qword [edx + 4], xmm1
call sym.core::ptr::drop_in_place_LT_regex_syntax..hir..Hir_GT_::h3b8335f51bdd1d52
jmp 0x479fbe
movsd xmm0, qword [esp + 0x3f4]
mov ecx, dword [esp + 0x3fc]
movsd xmm1, qword [esp + 0x3d4]
movsd qword [esp + 0x250], xmm0
movsd xmm0, qword [esp + 0x3ec]
mov dword [esp + 0x258], ecx
movsd qword [esp + 0x248], xmm0
movsd xmm0, qword [esp + 0x3e4]
movsd qword [esp + 0x240], xmm0
movsd xmm0, qword [esp + 0x3dc]
movsd qword [esp + 0x238], xmm0
movq xmm0, qword [esp + 0x3cc]
movsd qword [esp + 0x230], xmm1
movq qword [esp + 0x228], xmm0
cmp eax, 0x27
je 0x479814
jmp 0x479f55
movsd xmm1, qword [esp + 0xc4]
movsd xmm3, qword [esp + 0xcc]
movq xmm2, qword [esp + 0xb4]
movq xmm0, qword [esp + 0xbc]
mov ecx, dword [esp + 0xec]
movsd qword [esp + 0x230], xmm1
movsd xmm1, qword [esp + 0xd4]
movsd qword [esp + 0x238], xmm3
movq xmm3, qword [esp + 0xdc]
movq qword [esp + 0x228], xmm0
mov dword [esp + 0x258], ecx
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [esp + 0xe4]
movq qword [esp + 0x248], xmm3
movsd qword [esp + 0x250], xmm1
cmp eax, 0x27
jne 0x479f55
movd ebx, xmm2
mov esi, dword [esp + 0x68]
cmp dword [esi], 0
jne 0x47c231
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xb0]
mov dword [esi], 0xffffffff
push ebx
push edi
call sym.regex_automata::nfa::thompson::builder::Builder::patch::hda67acb2ee0ad884
add esp, 8
mov ecx, dword [esi]
inc ecx
mov dword [esi], ecx
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479be1
test ecx, ecx
jne 0x47c2ec
mov eax, dword [esp + 0x10]
mov dword [esi], 0xffffffff
mov edi, esi
cmp dword [eax], 0
jne 0x47c307
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x479894
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47c2db
mov dword [0x5da100], eax
push 0x30
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x47c2db
movdqa xmm0, xmmword [0x55fd80]
movaps xmm1, xmmword [0x55fd90]
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 8
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
movaps xmm2, xmmword [0x55fda0]
mov esi, eax
lea eax, [esp + 0x228]
mov dword [esp + 0x32c], 0
mov dword [esp + 0x328], 0
mov dword [esp + 0x334], 0
mov dword [esp + 0x330], 0
mov dword [esp + 0x33c], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x344], 0
mov dword [esp + 0x340], 0
movdqa xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xc0], xmm1
movaps xmm1, xmmword [0x55fdb0]
movaps xmmword [esp + 0xd0], xmm2
movaps xmm2, xmmword [0x55fdc0]
movaps xmmword [esp + 0xe0], xmm1
movaps xmm1, xmmword [0x55fdd0]
movaps xmmword [esp + 0xf0], xmm2
movaps xmm2, xmmword [0x55fde0]
movaps xmmword [esp + 0x100], xmm1
movaps xmm1, xmmword [0x55fdf0]
movaps xmmword [esp + 0x110], xmm2
movaps xmm2, xmmword [0x55fe00]
movaps xmmword [esp + 0x120], xmm1
movaps xmm1, xmmword [0x55fe10]
movaps xmmword [esp + 0x130], xmm2
movaps xmm2, xmmword [0x55fe20]
movaps xmmword [esp + 0x140], xmm1
movaps xmm1, xmmword [0x55fe30]
movaps xmmword [esp + 0x150], xmm2
movaps xmm2, xmmword [0x55fe40]
movaps xmmword [esp + 0x160], xmm1
movaps xmm1, xmmword [0x55fe50]
movaps xmmword [esp + 0x170], xmm2
movdqa xmm2, xmmword [0x55fe60]
movaps xmmword [esp + 0x180], xmm1
movdqa xmm1, xmmword [0x55fe70]
movdqa xmmword [esp + 0x190], xmm2
movdqa xmmword [esp + 0x1a0], xmm1
push 0x100
lea ecx, [esp + 0xb4]
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov edx, dword [esp + 0xc]
mov dword [esp + 0x354], 4
mov dword [esp + 0x358], 0
mov dword [esp + 0x35c], 0
mov dword [esp + 0x348], 0
mov dword [esp + 0x34c], 0
mov dword [esp + 0x360], 4
mov dword [esp + 0x364], 0
mov dword [esp + 0x368], 0
mov dword [esp + 0x36c], esi
mov dword [esp + 0x375], 0
mov dword [esp + 0x370], 0
mov dword [esp + 0x350], 0
mov dword [esp + 0x68], edi
movzx eax, byte [edx + 0x5c]
mov byte [esp + 0x377], al
movzx eax, byte [edx + 0x5d]
mov byte [esp + 0x378], al
movzx eax, byte [edx + 0x5e]
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], 0
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x374], al
xor eax, eax
mov ecx, dword [edx + 0x3c]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x47bbc2
mov dword [esp + 0x40], eax
mov eax, dword [esp + 4]
mov edi, dword [edx + 0x48]
mov ecx, dword [edx + 0x40]
mov dword [esp + 0x348], ebx
mov dword [esp + 0x34c], eax
test edi, edi
je 0x479fc6
xor ebx, ebx
cmp edi, 0x20000000
setb al
jae 0x47c1e5
mov bl, al
lea esi, [edi*4]
shl ebx, 2
test esi, esi
js 0x47c1e5
mov dword [esp + 0x20], ebx
je 0x479bd0
mov dword [esp + 4], ecx
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x479bc1
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x479bd8
mov dword [0x5da100], eax
push esi
push 0
push eax
call sub.kernel32.dll_HeapAlloc
mov ecx, dword [esp + 4]
mov ebx, eax
test ebx, ebx
jne 0x479fd2
mov ecx, dword [esp + 0x20]
jmp 0x47af84
mov edx, dword [esp + 0x7c]
movsd xmm2, qword [esp + 0xdc]
movsd xmm1, qword [esp + 0xd4]
mov ecx, dword [esp + 0xec]
movq xmm0, qword [esp + 0xe4]
movsd qword [edx + 0x2c], xmm2
movsd qword [edx + 0x24], xmm1
movsd xmm2, qword [esp + 0xcc]
movsd xmm1, qword [esp + 0xc4]
mov dword [edx + 0x3c], ecx
movq qword [edx + 0x34], xmm0
movsd qword [edx + 0x1c], xmm2
movsd qword [edx + 0x14], xmm1
movq xmm2, qword [esp + 0xb4]
movq xmm1, qword [esp + 0xbc]
movq qword [edx + 0xc], xmm1
movq qword [edx + 4], xmm2
mov dword [edx], eax
jmp 0x479fbe
movq xmm2, qword [esp + 0xb4]
cmp eax, 0x27
jne 0x47a40f
mov esi, dword [esp + 0x68]
movdqa xmmword [esp + 0x50], xmm2
cmp dword [esi], 0
jne 0x47c3c5
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xb0]
mov dword [esi], 0xffffffff
mov dword [esp + 0x3c4], 4
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3cc], 0
mov word [esp + 0x3c0], 6
push ebx
call sym.regex_automata::nfa::thompson::builder::Builder::add::h2a04e8d07243765a
add esp, 4
mov ecx, dword [esi]
inc ecx
mov dword [esi], ecx
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
test ecx, ecx
jne 0x47c3e0
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x3c0]
lea ecx, [esp + 0xb0]
mov dword [esi], 0xffffffff
mov dword [esp + 0x3c4], 0
mov word [esp + 0x3c0], 0
push eax
call sym.regex_automata::nfa::thompson::builder::Builder::add::h2a04e8d07243765a
add esp, 4
inc dword [esi]
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
mov esi, dword [esp + 0xb4]
sub esp, 8
movdqa xmm0, xmmword [esp + 0x28]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xb8]
mov dword [esp], ebx
movd dword [esp + 4], xmm0
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
pshufd xmm0, xmmword [esp + 0x20], 0x55
sub esp, 8
mov dword [esp + 0x28], esi
mov dword [esp + 4], esi
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0xb8]
movd dword [esp], xmm0
mov edx, esi
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
sub esp, 8
movdqa xmm0, xmmword [esp + 0x58]
lea ecx, [esp + 0xb8]
mov edx, esi
mov dword [esp], ebx
movd dword [esp + 4], xmm0
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
pshufd xmm0, xmmword [esp + 0x50], 0x55
sub esp, 8
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xb8]
mov edx, esi
movd dword [esp], xmm0
mov dword [esp + 4], eax
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
mov eax, dword [esp + 0x388]
movq xmm0, qword [esp + 0x380]
mov dword [esp + 0x88], eax
movq qword [esp + 0x80], xmm0
lea ecx, [esp + 0x3c0]
lea edx, [esp + 0x80]
lea esi, [esp + 0xb0]
call sym.__ZN102__LT_core..iter..adapters..map..Map_LT_I_C_F_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h77903ea58
mov eax, dword [esp + 0x3c0]
cmp eax, 0x28
je 0x479818
movq xmm2, qword [esp + 0x3c4]
cmp eax, 0x27
jne 0x47bea3
sub esp, 8
mov edx, dword [esp + 0x14]
mov ecx, esi
movd dword [esp + 4], xmm2
mov dword [esp], ebx
movdqa xmmword [esp + 0x58], xmm2
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
jne 0x479ed2
pshufd xmm0, xmmword [esp + 0x50], 0x55
sub esp, 8
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, esi
movd dword [esp], xmm0
mov dword [esp + 4], eax
call sym.regex_automata::nfa::thompson::compiler::Compiler::patch::h8c8b90911f535601
add esp, 8
mov eax, dword [esp + 0xb0]
cmp eax, 0x27
je 0x479e35
movsd xmm1, qword [esp + 0xc4]
movsd xmm3, qword [esp + 0xcc]
movq xmm0, qword [esp + 0xbc]
mov ecx, dword [esp + 0xec]
movq xmm2, qword [esp + 0xb4]
movsd qword [esp + 0x230], xmm1
movsd xmm1, qword [esp + 0xd4]
movsd qword [esp + 0x238], xmm3
movq xmm3, qword [esp + 0xdc]
movq qword [esp + 0x228], xmm0
mov dword [esp + 0x258], ecx
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [esp + 0xe4]
movq qword [esp + 0x248], xmm3
movsd qword [esp + 0x250], xmm1
mov edx, dword [esp + 0x7c]
movsd xmm1, qword [esp + 0x248]
movsd xmm3, qword [esp + 0x240]
mov ecx, dword [esp + 0x258]
movq xmm0, qword [esp + 0x250]
movsd qword [edx + 0x2c], xmm1
movsd xmm1, qword [esp + 0x238]
movsd qword [edx + 0x24], xmm3
movq xmm3, qword [esp + 0x228]
mov dword [edx + 0x3c], ecx
movq qword [edx + 0x34], xmm0
movsd qword [edx + 0x1c], xmm1
movq xmm1, qword [esp + 0x230]
movq qword [edx + 0xc], xmm3
movq qword [edx + 0x14], xmm1
mov dword [edx], eax
movq qword [edx + 4], xmm2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea esi, [edi*4]
mov ebx, 4
push esi
push ecx
push ebx
call sym._memcpy
add esp, 0xc
cmp dword [esp + 0x364], 0
je 0x479ffb
push dword [esp + 0x360]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0x360], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x364], edi
mov dword [esp + 0x368], edi
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x3c0], 4
mov dword [esp + 0x3c4], 0
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3cc], 8
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x3d4], 0
mov dword [esp + 0x3d8], 4
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 0
test eax, eax
je 0x47a2e9
mov edi, dword [esp + 0x10]
lea eax, [eax + eax*2]
mov dword [esp + 0x50], 0
lea eax, [ecx + eax*4]
mov dword [esp + 0x78], eax
jmp 0x47a0bd
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x50]
add ecx, 0xc
cmp ecx, dword [esp + 0x78]
je 0x47bca6
mov esi, dword [ecx + 8]
test esi, esi
je 0x47bc53
mov eax, dword [ecx]
cmp dword [eax], 0
jne 0x47bc64
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x3c0]
mov dword [esp + 4], eax
call sym.regex_automata::util::captures::GroupInfoInner::add_first_group::h4406a1aaab8b22fd
mov eax, dword [esp + 4]
cmp esi, 1
je 0x47a0a8
add eax, 8
lea ecx, [esi*8 - 8]
mov edx, 1
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax]
mov esi, dword [esp + 0x3c8]
mov edi, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
test ecx, ecx
cmove eax, ecx
cmp esi, edi
jbe 0x47bdef
mov ebx, dword [esp + 0x3c0]
mov edx, dword [ebx + edi*8 + 4]
add edx, 2
cmp edx, 0x7ffffffe
ja 0x47a402
test ecx, ecx
mov dword [ebx + edi*8 + 4], edx
mov dword [esp + 0x1c], ebx
je 0x47a228
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, 8
call sym.alloc::sync::Arc_LT__u5b_T_u5d__GT_::copy_from_slice::h1abaae4487cddc9e
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x3d4]
cmp edx, edi
jbe 0x47be35
shl edi, 5
mov ebx, esi
mov dword [esp + 0x18], eax
add edi, dword [esp + 0x3cc]
add ebx, 8
mov edx, ebx
mov ecx, edi
push eax
call sym.hashbrown::map::HashMap_LT_K_C_V_C_S_C_A_GT_::contains_key::hbb6d5a2c3e1fd59f
add esp, 4
test al, al
jne 0x47a4b4
lock inc dword [esi]
jle 0x47c1e1
mov ecx, edi
mov edx, esi
push dword [esp + 8]
push dword [esp + 0x1c]
call sym.hashbrown::map::HashMap_LT_K_C_V_C_S_C_A_GT_::insert::h0513f5d56d9376fc
add esp, 8
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jbe 0x47be46
mov ebx, dword [esp + 0x3d8]
lea eax, [ecx + ecx*2]
mov dword [esp + 0x34], edx
mov edx, dword [ebx + eax*4 + 8]
lea edi, [ebx + eax*4]
cmp edx, dword [ebx + eax*4 + 4]
jne 0x47a1fd
mov ecx, edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h097fe01122eb0200
mov edx, dword [edi + 8]
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ecx
inc dword [edi + 8]
mov eax, dword [esp + 0x3e4]
mov esi, dword [esp + 0x3c8]
lea eax, [eax + ecx*2 + 0x14]
mov dword [esp + 0x3e4], eax
jmp 0x47a270
mov edx, dword [esp + 0x3e0]
cmp edx, edi
jbe 0x47be55
mov ebx, dword [esp + 0x3d8]
lea eax, [edi + edi*2]
mov dword [esp + 0x34], edx
mov edx, dword [ebx + eax*4 + 8]
lea edi, [ebx + eax*4]
cmp edx, dword [ebx + eax*4 + 4]
jne 0x47a25c
mov ecx, edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h097fe01122eb0200
mov edx, dword [edi + 8]
mov eax, dword [edi]
mov dword [eax + edx*8], 0
inc dword [edi + 8]
add dword [esp + 0x3e4], 8
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x10]
inc edx
cmp esi, ecx
mov dword [esp + 0xa4], edx
jbe 0x47c18f
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + ecx*8 + 4]
sub eax, dword [esi + ecx*8]
shr eax, 1
inc eax
cmp edx, eax
mov dword [esp + 0x44], eax
jne 0x47c197
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa4], edx
cmp eax, ecx
jbe 0x47be02
lea eax, [ecx + ecx*2]
mov eax, dword [ebx + eax*4 + 8]
cmp edx, eax
mov dword [esp + 0x44], eax
jne 0x47c1b4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
add eax, 8
add ecx, 0xfffffff8
jne 0x47a110
jmp 0x47a0a8
mov edi, dword [esp + 0x10]
mov edx, 4
xor eax, eax
lea ecx, [esp + 0xb0]
push eax
call sym.regex_automata::util::captures::GroupInfoInner::fixup_slot_ranges::h204eefa3d0f97d8b
add esp, 4
mov eax, dword [esp + 0xb0]
cmp eax, 5
mov dword [esp + 0x34], eax
jne 0x47a47c
movsd xmm2, qword [esp + 0x3d8]
movsd xmm1, qword [esp + 0x3d0]
movq xmm0, qword [esp + 0x3e0]
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movq xmm2, qword [esp + 0x3c0]
movsd xmm1, qword [esp + 0x3c8]
movq qword [esp + 0xd0], xmm0
movsd qword [esp + 0xb8], xmm1
movq qword [esp + 0xb0], xmm2
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x47a394
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47c2db
mov dword [0x5da100], eax
push 0x30
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x47c2db
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [esp + 0x50], eax
movsd xmm0, qword [esp + 0xb0]
movq xmm1, qword [esp + 0xb8]
movsd qword [eax + 8], xmm0
movq qword [eax + 0x10], xmm1
movsd xmm0, qword [esp + 0xc0]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0xc8]
movsd qword [eax + 0x20], xmm0
movq xmm0, qword [esp + 0xd0]
movq qword [eax + 0x28], xmm0
jmp 0x47a664
mov dword [esp + 0x34], 1
jmp 0x47a546
movsd xmm0, qword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
movsd xmm1, qword [esp + 0xc4]
movsd qword [esp + 0x250], xmm0
movsd xmm0, qword [esp + 0xdc]
mov dword [esp + 0x258], ecx
movsd qword [esp + 0x248], xmm0
movsd xmm0, qword [esp + 0xd4]
movsd qword [esp + 0x240], xmm0
movsd xmm0, qword [esp + 0xcc]
movsd qword [esp + 0x238], xmm0
movq xmm0, qword [esp + 0xbc]
jmp 0x479768
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x78], ecx
jmp 0x47a546
cmp dword [esp + 0x18], 0
je 0x47a503
js 0x47c1e5
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
mov edi, dword [esp + 0x50]
test eax, eax
jne 0x47a4e3
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47a4f3
mov dword [0x5da100], eax
push dword [esp + 0x18]
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
jne 0x47a50c
mov edx, dword [esp + 0x18]
mov ecx, 1
call dbg.handle_alloc_error
ud2
mov edi, dword [esp + 0x50]
mov eax, 1
push dword [esp + 0x18]
push ebx
mov dword [esp + 0x10], eax
push eax
call sym._memcpy
add esp, 0xc
lock dec dword [esi]
mov dword [esp + 0x34], 4
jne 0x47a53e
mov ecx, esi
mov esi, dword [esp + 0x18]
mov edx, esi
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h03747aea754929d2
mov dword [esp + 0x14], esi
jmp 0x47a546
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x3c4], 0
je 0x47a564
push dword [esp + 0x3c0]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov esi, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3d4]
mov dword [esp + 0x50], edi
mov ecx, esi
call sym.__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::hfeae50be3a15c44d
cmp dword [esp + 0x3d0], 0
je 0x47a595
push esi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x3e0]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x47a633
mov eax, dword [esp + 0x3d8]
xor esi, esi
mov dword [esp + 4], eax
jmp 0x47a5c6
cmp esi, dword [esp + 0x1c]
je 0x47a633
mov eax, dword [esp + 4]
mov dword [esp + 0x20], esi
lea esi, [esi + esi*2]
mov ebx, dword [eax + esi*4 + 8]
test ebx, ebx
je 0x47a610
mov eax, dword [esp + 4]
mov edi, dword [eax + esi*4]
jmp 0x47a5f6
add edi, 8
dec ebx
je 0x47a610
mov eax, dword [edi]
test eax, eax
je 0x47a5f0
lock dec dword [eax]
jne 0x47a5f0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h03747aea754929d2
jmp 0x47a5f0
mov eax, dword [esp + 4]
lea eax, [eax + esi*4]
mov esi, dword [esp + 0x20]
inc esi
cmp dword [eax + 4], 0
je 0x47a5c0
push dword [eax]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x47a5c0
cmp dword [esp + 0x3dc], 0
je 0x47a651
push dword [esp + 0x3d8]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x34], 5
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
jne 0x47af8d
mov eax, dword [esp + 0x36c]
lock dec dword [eax]
jne 0x47a67c
mov ecx, dword [esp + 0x36c]
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h2598fc01225b4f2d
mov eax, dword [esp + 0x50]
shl edi, 4
xor esi, esi
mov dword [esp + 0x36c], eax
mov eax, dword [ebx + 0x34]
add edi, eax
mov dword [esp + 4], eax
mov dword [esp + 0xc], edi
mov edi, eax
jmp 0x47a6ed
cmp edi, dword [esp + 0xc]
je 0x47af41
cmp esi, dword [esp + 0x10]
je 0x47c138
movzx eax, word [edi]
lea ecx, [edi + 0x10]
lea ebx, [esi + 1]
mov eax, dword [eax*4 + 0x47c3fc]
add eax, dword [esp + 0xac]
jmp eax
mov esi, dword [esp + 0x10]
test esi, esi
je 0x47b11b
js 0x47c1e5
mov eax, dword [0x5da100]
test eax, eax
jne 0x47af6a
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47af7f
mov dword [0x5da100], eax
push esi
push 8
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
mov dword [esp + 8], eax
jne 0x47b123
mov ecx, 1
mov edx, esi
call dbg.handle_alloc_error
ud2
movsd xmm1, qword [esp + 0x90]
movsd xmm0, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x80]
cmp dword [esp + 0x3c], 0
movsd qword [esp + 0x390], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [esp + 0x398], xmm0
movsd qword [esp + 0x380], xmm2
movsd qword [esp + 0x388], xmm1
je 0x47afed
push dword [esp + 0x38]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x70], 0
je 0x47b005
push dword [esp + 0x6c]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov esi, dword [esp + 0x35c]
test esi, esi
je 0x47b050
mov edi, dword [esp + 0x354]
add edi, 8
jmp 0x47b026
add edi, 0x14
dec esi
je 0x47b050
movzx eax, word [edi - 8]
cmp eax, 4
je 0x47b039
cmp eax, 2
je 0x47b039
cmp eax, 1
jne 0x47b020
cmp dword [edi], 0
je 0x47b020
push dword [edi - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x47b020
cmp dword [esp + 0x358], 0
je 0x47b06e
push dword [esp + 0x354]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x364], 0
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x50]
je 0x47b094
push dword [esp + 0x360]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x36c]
lock dec dword [eax]
jne 0x47b0ac
mov ecx, dword [esp + 0x36c]
call sym.alloc::sync::Arc_LT_T_GT_::drop_slow::h2598fc01225b4f2d
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
movsd xmm1, qword [esp + 0x388]
movq xmm0, qword [esp + 0x380]
movq xmm2, qword [esp + 0x390]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov edi, dword [esp + 8]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x18]
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edx
movsd qword [eax + 0x28], xmm1
movq xmm1, qword [esp + 0x398]
movq qword [eax + 0x20], xmm0
movq qword [eax + 0x30], xmm2
movq qword [eax + 0x38], xmm1
mov dword [eax], 0x20
inc dword [esi]
jmp 0x479fbe
mov dword [esp + 8], 1
mov eax, dword [esp + 0x74]
test eax, eax
je 0x47b2a0
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
lea eax, [edx + eax*8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
jmp 0x47b165
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
add edx, 8
cmp edx, dword [esp + 0x1c]
je 0x47b2ac
mov ecx, dword [edx]
cmp ecx, esi
jae 0x47be24
mov eax, dword [esp + 8]
mov dword [esp + 0xc], edx
cmp byte [eax + ecx], 0
jne 0x47b150
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 4]
cmp ecx, edx
mov eax, ecx
jb 0x47b1b7
jmp 0x47be66
cmp dword [edi + 0xc], 1
jne 0x47b1e7
mov edi, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
cmp eax, edx
jae 0x47be68
mov edx, dword [esp + 4]
mov esi, eax
shl esi, 4
lea edi, [edx + esi]
movzx esi, word [edx + esi]
cmp esi, 7
je 0x47b1a0
cmp esi, 6
je 0x47b1a0
test esi, esi
jne 0x47b1e7
add edi, 4
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
cmp eax, edx
jb 0x47b1b7
jmp 0x47be68
cmp eax, ebx
jae 0x47be79
cmp dword [esp + 0x50], ebx
jae 0x47be8c
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x50]
mov esi, dword [edx + eax*4]
mov edx, dword [esp + 0x20]
mov dword [edx + ebx*4], esi
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov byte [esi + edx], 1
nop dword [eax + eax]
mov edi, ebx
mov ebx, dword [esp + 4]
mov edx, ecx
shl edx, 4
lea esi, [ebx + edx]
movzx edx, word [ebx + edx]
cmp edx, 7
je 0x47b250
cmp edx, 6
je 0x47b250
mov ebx, edi
mov edi, dword [esp + 0x20]
test edx, edx
jne 0x47b150
add esi, 4
jmp 0x47b263
mov ebx, edi
cmp dword [esi + 0xc], 1
mov edi, dword [esp + 0x20]
jne 0x47b150
mov esi, dword [esi + 4]
cmp ecx, ebx
jae 0x47bc75
mov edx, dword [edi + eax*4]
mov esi, dword [esi]
mov dword [edi + ecx*4], edx
mov edi, dword [esp + 0x10]
cmp ecx, edi
jae 0x47bc86
mov edx, dword [esp + 8]
cmp esi, edi
mov byte [edx + ecx], 1
mov ecx, esi
jb 0x47b220
mov ecx, esi
mov edx, edi
push 0x56cc20
call dbg.panic_bounds_check
add esp, 4
ud2
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x35c]
test ecx, ecx
je 0x47b3e8
mov eax, dword [esp + 0x354]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov dword [esp + 4], ecx
jmp 0x47b2f2
movzx ecx, word [eax]
mov ecx, dword [ecx*4 + 0x47c424]
add ecx, dword [esp + 0xac]
jmp ecx
mov ecx, dword [esp + 0x348]
cmp ecx, ebx
jae 0x47c073
mov edx, dword [esp + 0x20]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x348], eax
mov ecx, dword [esp + 0x34c]
cmp ecx, ebx
jae 0x47c084
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x368]
test eax, eax
je 0x47b457
mov esi, dword [esp + 0x360]
shl eax, 2
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esi]
cmp ecx, ebx
jae 0x47be13
mov ecx, dword [edx + ecx*4]
mov dword [esi], ecx
add esi, 4
add eax, 0xfffffffc
jne 0x47b440
push 0x158
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x3c8]
push eax
call sym._memcpy
add esp, 0xc
pxor xmm0, xmm0
xor eax, eax
xor ecx, ecx
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
jmp 0x47b529
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 4]
mov byte [esp + eax + 0xb1], cl
inc eax
cmp eax, 0xff
je 0x47b627
mov dword [esp + 0x20], ecx
mov dword [esp + 4], eax
mov ecx, eax
and al, 0x78
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3b4], 0
mov dword [esp + 0x3b0], 1
mov dword [esp + 0x3ac], 0
mov dword [esp + 0x3a8], 0
mov dword [esp + 0x3a4], 0
mov dword [esp + 0x3a0], 0
shr al, 3
mov ch, cl
neg al
and ch, 7
movsx edi, al
mov cl, ch
mov edx, dword [esp + edi + 0x3b8]
mov eax, dword [esp + edi + 0x3bc]
shld eax, edx, cl
shl edx, cl
not cl
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
mov ebx, dword [esp + edi + 0x3b4]
shr eax, 3
mov esi, ebx
and eax, 0x10
shr esi, 1
shr esi, cl
mov cl, ch
or esi, edx
mov edx, dword [esp + edi + 0x3b0]
mov edi, dword [esp + 0xc]
shld ebx, edx, cl
shl edx, cl
lea ecx, [esp + 0x4c0]
and esi, dword [ecx + eax + 8]
and edx, dword [ecx + eax]
and edi, dword [ecx + eax + 0xc]
and ebx, dword [ecx + eax + 4]
or edx, esi
or ebx, edi
or ebx, edx
je 0x47b50e
mov ecx, dword [esp + 0x20]
inc cl
jne 0x47b512
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
mov edx, 0x2b
push 0x56efd8
call dbg.panic
add esp, 4
ud2
push 0x100
lea ebx, [esp + 0xb4]
push ebx
lea edi, [esp + 0x3c8]
push edi
call sym._memcpy
add esp, 0xc
mov edx, dword [esp + 0x4f4]
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 0
mov dword [esp + 0xb0], 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 4
mov dword [esp + 0xc0], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xc4], 0
test edx, edx
js 0x47c351
mov eax, edx
mov dword [esp + 0xc8], 0
jne 0x47bcdd
mov dword [esp + 0xb8], eax
mov esi, edx
mov ecx, dword [esp + 0xc4]
sub esi, ecx
jbe 0x47b799
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], ecx
sub eax, ecx
cmp eax, esi
jb 0x47bd94
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xbc]
cmp esi, 2
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], eax
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 4]
jb 0x47b788
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x14], edx
not ebx
add ebx, edx
mov edx, 1
cmp ebx, 8
jb 0x47b75e
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 4]
mov edx, ebx
pxor xmm0, xmm0
and edx, 0xfffffff8
mov dword [esp + 0x50], edx
lea ecx, [ecx + edx*4]
inc edx
lea eax, [eax + edi*4 + 0x10]
mov edi, dword [esp + 0x50]
movdqu xmmword [eax - 0x10], xmm0
movdqu xmmword [eax], xmm0
add eax, 0x20
add edi, 0xfffffff8
jne 0x47b743
cmp ebx, dword [esp + 0x50]
mov eax, dword [esp + 4]
je 0x47b772
add edx, dword [esp + 0xc]
sub edx, dword [esp + 0x14]
mov dword [ecx], 0
add ecx, 4
inc edx
jne 0x47b766
mov edx, dword [esp + 0x14]
lea eax, [esi + eax - 1]
lea edi, [esp + 0x3c0]
lea ebx, [esp + 0xb0]
cmp edx, dword [esp + 0xc]
je 0x47b795
inc eax
mov dword [ecx], 0
mov edx, eax
jmp 0x47b7a4
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x500]
test eax, eax
je 0x47baad
mov ecx, dword [esp + 0xb8]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x4f8]
lea eax, [ecx + eax*4]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x50e]
mov byte [esp + 0x67], al
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x1c], eax
movzx eax, word [esp + 0x50a]
jmp 0x47b856
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x220]
mov eax, dword [esp + 0x21c]
xor edi, edi
add ecx, 4
or eax, dword [esp + 0x34]
cmp ecx, dword [esp + 0x218]
je 0x47ba8b
mov ebx, dword [ecx]
cmp edi, dword [esp + 0x48]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x21c], eax
jne 0x47b87f
lea ecx, [esp + 0x44]
mov edx, edi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h0bf962b05ef6e94f
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
xor esi, esi
mov dword [ecx + edi*4], ebx
inc edi
mov dword [esp + 0x4c], edi
je 0x47b82a
mov dword [esp + 0x34], 0
jmp 0x47b8cc
mov ecx, dword [esp + 4]
test edi, edi
je 0x47b832
mov eax, edi
dec edi
mov dword [esp + 4], ecx
mov dword [esp + 0x4c], edi
mov ecx, dword [ecx + eax*4 - 4]
cmp edx, ecx
mov dword [esp + 0x20c], ecx
jbe 0x47bc97
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ecx*4]
cmp eax, esi
jae 0x47b90c
cmp eax, dword [esp + 0x50]
jae 0x47bd7f
mov ebx, esi
mov esi, dword [esp + 0xc]
cmp dword [esi + eax*4], ecx
mov esi, ebx
je 0x47b8c0
cmp esi, dword [esp + 0x50]
mov dword [esp + 0x224], esi
jae 0x47c095
mov eax, dword [esp + 0xc]
mov dword [eax + esi*4], ecx
mov eax, dword [esp + 0x20c]
cmp eax, edx
jae 0x47bcb9
mov ebx, esi
mov esi, dword [esp + 0x20]
cmp ecx, dword [esp + 0x1c]
mov dword [esi + eax*4], ebx
jae 0x47bcca
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov eax, ebx
inc eax
lea ebx, [esi + ecx*4]
movzx ecx, word [esi + ecx*4]
mov esi, eax
mov ecx, dword [ecx*4 + 0x47c448]
add ecx, dword [esp + 0xac]
jmp ecx
movzx ecx, byte [esp + 0x67]
lea edi, [esp + 0x3c0]
lea ebx, [esp + 0xb0]
mov word [esp + 0x50a], ax
mov byte [esp + 0x50e], cl
push 0x158
push edi
push ebx
call sym._memcpy
add esp, 0xc
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x47bade
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x47c3b4
mov dword [0x5da100], eax
push 0x160
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x47c3b4
mov edi, eax
mov dword [eax], 1
mov dword [eax + 4], 1
add eax, 8
push 0x158
push ebx
push eax
call sym._memcpy
add esp, 0xc
cmp dword [esp + 0x210], 0
je 0x47bb2f
push dword [esp + 0xc]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x214], 0
je 0x47bb4a
push dword [esp + 0x20]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x48], 0
je 0x47bb62
push dword [esp + 0x44]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x10], 0
je 0x47bb7a
push dword [esp + 8]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x3c], 0
je 0x47bb92
push dword [esp + 0x38]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x70], 0
je 0x47bbaa
push dword [esp + 0x6c]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x7c]
inc dword [eax]
mov dword [ecx + 4], edi
mov dword [ecx], 0x27
jmp 0x479fbe
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x38]
xor edx, edx
push esi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve::do_reserve_and_handle::h0279360c98d92549
add esp, 4
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
cmp esi, 1
lea ecx, [edx + eax*4]
je 0x47bc43
cmp esi, 9
mov dword [esp + 0x20], 1
jb 0x47bc27
dec esi
pxor xmm0, xmm0
mov edi, esi
mov dword [esp + 0x50], esi
and edi, 0xfffffff8
lea esi, [edi + 1]
lea ecx, [ecx + edi*4]
mov dword [esp + 0x20], esi
lea esi, [edx + eax*4 + 0x10]
mov edx, edi
movdqu xmmword [esi - 0x10], xmm0
movdqu xmmword [esi], xmm0
add esi, 0x20
add edi, 0xfffffff8
jne 0x47bc10
cmp dword [esp + 0x50], edx
je 0x47bc3b
mov esi, dword [esp + 0x10]
sub esi, dword [esp + 0x20]
mov dword [ecx], 0
add ecx, 4
dec esi
jne 0x47bc2f
mov edx, dword [esp + 0x10]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0xc]
inc eax
mov dword [ecx], 0
jmp 0x479b50
mov edi, dword [esp + 0x50]
mov dword [esp + 0x34], 2
jmp 0x47a40a
mov edi, dword [esp + 0x50]
mov dword [esp + 0x34], 3
jmp 0x47a40a
mov edx, ebx
push 0x56cc30
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, edi
push 0x56cc40
call dbg.panic_bounds_check
add esp, 4
ud2
push 0x56e478
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, dword [esp + 0x3c0]
mov eax, dword [esp + 0x3c8]
jmp 0x47a2f4
mov ecx, eax
push 0x56df3c
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, dword [esp + 0x1c]
push 0x56b0b8
call dbg.panic_bounds_check
add esp, 4
ud2
mov dword [esp + 0x14], edx
lea ecx, [esp + 0xb0]
xor edx, edx
push dword [esp + 0x14]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve::do_reserve_and_handle::h0279360c98d92549
mov edx, dword [esp + 0x18]
add esp, 4
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb8]
cmp edx, 1
lea ecx, [ebx + eax*4]
je 0x47bd65
mov esi, edx
mov edx, 1
cmp esi, 9
jb 0x47bd4b
dec esi
lea ebx, [ebx + eax*4 + 0x10]
pxor xmm0, xmm0
mov dword [esp + 4], esi
and esi, 0xfffffff8
lea ecx, [ecx + esi*4]
lea edx, [esi + 1]
mov edi, esi
movdqu xmmword [ebx - 0x10], xmm0
movdqu xmmword [ebx], xmm0
add ebx, 0x20
add edi, 0xfffffff8
jne 0x47bd34
cmp dword [esp + 4], esi
je 0x47bd5d
mov esi, dword [esp + 0x14]
sub esi, edx
mov dword [ecx], 0
add ecx, 4
dec esi
jne 0x47bd51
mov edx, dword [esp + 0x14]
lea eax, [edx + eax - 1]
lea edi, [esp + 0x3c0]
lea ebx, [esp + 0xb0]
inc eax
mov dword [ecx], 0
jmp 0x47b6c0
mov edx, dword [esp + 0x50]
mov ecx, eax
push 0x56e488
call dbg.panic_bounds_check
add esp, 4
ud2
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0xbc]
push esi
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve::do_reserve_and_handle::h0279360c98d92549
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0xc4]
jmp 0x47b6ed
mov ecx, edi
mov edx, esi
push 0x56a758
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, eax
push 0x56a7a8
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, ebx
push 0x56b108
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, esi
push 0x56cbe0
call dbg.panic_bounds_check
add esp, 4
ud2
mov ecx, edi
push 0x56a778
call dbg.panic_bounds_check
add esp, 4
ud2
push 0x56a788
call dbg.panic_bounds_check
add esp, 4
ud2
mov ecx, edi
push 0x56a768
call dbg.panic_bounds_check
add esp, 4
ud2
mov eax, ecx
mov ecx, eax
push 0x56cbf0
call dbg.panic_bounds_check
add esp, 4
ud2
mov ecx, eax
mov edx, ebx
push 0x56cc00
call dbg.panic_bounds_check
add esp, 4
ud2
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x18]
push 0x56cc10
call dbg.panic_bounds_check
add esp, 4
ud2
lea edx, [esp + 0x3cc]
movsd xmm1, qword [edx + 0x20]
movsd xmm3, qword [edx + 0x18]
mov ecx, dword [edx + 0x30]
movsd xmm0, qword [edx + 0x28]
movsd qword [esp + 0x248], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [esp + 0x240], xmm3
movsd xmm3, qword [edx]
mov dword [esp + 0x258], ecx
movsd qword [esp + 0x250], xmm0
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x228], xmm3
movsd qword [esp + 0x230], xmm1
jmp 0x479f55
mov edx, ebx
push 0x56b0e8
call dbg.panic_bounds_check
add esp, 4
ud2
mov edx, ebx
push 0x56b0f8
call dbg.panic_bounds_check
add esp, 4
ud2
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x224]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x80], 0x56dea4
mov dword [esp + 0x84], 3
mov dword [esp + 0x90], 0
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x20c]
mov dword [esp + 0xbc], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0xc0], edx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x80]
mov edx, 0x56df2c
mov dword [esp + 0xc4], sym.__LT_regex_automata..util..primitives..StateID_u20_as_u20_core..fmt..Debug_GT_::fmt::h9d7cb772b19dba31
mov dword [esp + 0x8c], 3
mov dword [esp + 0xa4], eax
call dbg.panic_fmt
ud2
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
mov edx, 0x2b
push 0x56e51c
call dbg.panic
add esp, 4
ud2
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a3a0
jmp 0x47c17f
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a3b0
push 0x56a30c
push eax
call dbg.unwrap_failed
add esp, 0xc
ud2
mov dword [esp + 0x44], 0
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x44]
mov dword [esp + 0xb0], 0
push 0x56a798
jmp 0x47c1cf
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x44]
mov dword [esp + 0xb0], 0
push 0x56a7b8
lea eax, [esp + 0xb4]
push eax
call sym.core::panicking::assert_failed::h9b15bbfd35e45a95
add esp, 8
ud2
ud2
call sym.alloc::raw_vec::capacity_overflow::h894971bc65aab54c
ud2
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a520
jmp 0x47c17f
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a470
jmp 0x47c17f
mov ecx, 4
mov edx, 0x30
call dbg.handle_alloc_error
ud2
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a3c0
jmp 0x47c17f
lea ecx, [esp + 0xb0]
mov edx, 0x56ca48
mov dword [esp + 0xb0], 0x56ca40
mov dword [esp + 0xb4], 1
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb8], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0xbc], 0
call dbg.panic_fmt
ud2
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x80]
mov edx, 0x56e468
mov dword [esp + 0xa4], 0x56e464
mov dword [esp + 0x80], 0x56e45c
mov dword [esp + 0x84], 1
mov dword [esp + 0x90], 0
mov dword [esp + 0xa8], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 1
call dbg.panic_fmt
ud2
mov ecx, 8
mov edx, 0x160
call dbg.handle_alloc_error
ud2
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a4e0
jmp 0x47c17f
lea eax, [esp + 0x80]
mov ecx, str.already_borrowedlibrary_std_srcio_stdio.rs
mov edx, 0x10
push 0x56a4a0
jmp 0x47c17f