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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4a0
mov eax, dword [ebp + 8]
cmp dword [edx], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edx
je 0x437908
movsd xmm0, qword [edx + 0x20]
movsd qword [esp + 0x2a8], xmm0
movsd xmm0, qword [edx + 0x18]
movsd qword [esp + 0x2a0], xmm0
movsd xmm0, qword [edx + 8]
movsd xmm1, qword [edx + 0x10]
movsd qword [esp + 0x298], xmm1
movsd qword [esp + 0x290], xmm0
test dword [eax + 0x130], 0x33300
jne 0x43792b
jmp 0x437b1e
xorps xmm0, xmm0
movaps xmmword [esp + 0x2a0], xmm0
movaps xmmword [esp + 0x290], xmm0
test dword [eax + 0x130], 0x33300
je 0x437b1e
mov eax, dword [esp + 0x20]
test byte [eax + 0x53], 1
jne 0x437a28
mov cl, 0x80
mov ch, 0x80
nop dword [eax]
inc ch
je 0x438652
mov ah, cl
add cl, 0x80
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 1
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov al, cl
shr cl, 3
shr ah, 7
and cl, 0xf
and al, 7
neg cl
movsx ebx, cl
mov cl, al
mov esi, dword [esp + ebx + 0x168]
mov edx, dword [esp + ebx + 0x16c]
shld edx, esi, cl
shl esi, cl
not cl
mov dword [esp + 0xc], edx
mov edx, dword [esp + ebx + 0x164]
mov ebx, dword [esp + ebx + 0x160]
mov edi, edx
shr edi, 1
shr edi, cl
mov cl, al
or edi, esi
movzx esi, ah
shld edx, ebx, cl
shl ebx, cl
mov cl, ch
shl esi, 4
and edi, dword [esp + esi + 0x298]
and ebx, dword [esp + esi + 0x290]
and edx, dword [esp + esi + 0x294]
or ebx, edi
mov edi, dword [esp + 0xc]
and edi, dword [esp + esi + 0x29c]
or edx, edi
or edx, ebx
jne 0x437940
jmp 0x438660
mov ch, 0x80
nop word [eax + eax]
mov cl, ch
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 1
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
add cl, 0x80
mov edx, ecx
shr cl, 3
and cl, 0xf
and dl, 7
neg cl
movsx eax, cl
mov cl, dl
mov ebx, dword [esp + eax + 0x188]
mov dword [esp + 0x10], ebx
shl ebx, cl
not cl
mov edi, dword [esp + eax + 0x184]
mov esi, edi
shr esi, 1
shr esi, cl
mov cl, dl
or esi, ebx
mov ebx, dword [esp + eax + 0x180]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + eax + 0x18c]
mov eax, dword [esp + 0x10]
shld ebx, eax, cl
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc]
shl ebx, cl
mov cl, ch
shr cl, 7
movzx eax, cl
mov cl, dl
mov edx, dword [esp + 0xc]
shl eax, 4
or dword [esp + eax + 0x290], ebx
or dword [esp + eax + 0x298], esi
shld edi, edx, cl
or dword [esp + eax + 0x294], edi
mov edi, dword [esp + 0x10]
or dword [esp + eax + 0x29c], edi
inc ch
jne 0x437a30
mov ecx, dword [esp + 0x2ac]
movsd xmm0, qword [esp + 0x2a4]
movsd xmm1, qword [esp + 0x29c]
movsd xmm2, qword [esp + 0x294]
mov eax, dword [esp + 0x290]
mov esi, dword [esp + 0x20]
movsd qword [esp + 0x34], xmm2
movsd qword [esp + 0x3c], xmm1
movsd qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x30], eax
movzx eax, byte [esi + 0x52]
cmp al, 2
je 0x437d35
and al, 1
jne 0x437d35
movaps xmm0, xmmword [0x4de280]
movaps xmm1, xmmword [0x4de290]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
lea ecx, [esp + 0x290]
lea eax, [esp + 0x190]
movaps xmmword [esp + 0x190], xmm0
movaps xmmword [esp + 0x1a0], xmm1
movaps xmm1, xmmword [0x4de2b0]
movaps xmmword [esp + 0x1b0], xmm2
movaps xmm2, xmmword [0x4de2c0]
movaps xmmword [esp + 0x1c0], xmm1
movaps xmm1, xmmword [0x4de2d0]
movaps xmmword [esp + 0x1d0], xmm2
movaps xmm2, xmmword [0x4de2e0]
movaps xmmword [esp + 0x1e0], xmm1
movaps xmm1, xmmword [0x4de2f0]
movaps xmmword [esp + 0x1f0], xmm2
movaps xmm2, xmmword [0x4de300]
movaps xmmword [esp + 0x200], xmm1
movaps xmm1, xmmword [0x4de310]
movaps xmmword [esp + 0x210], xmm2
movaps xmm2, xmmword [0x4de320]
movaps xmmword [esp + 0x220], xmm1
movaps xmm1, xmmword [0x4de330]
movaps xmmword [esp + 0x230], xmm2
movaps xmm2, xmmword [0x4de340]
movaps xmmword [esp + 0x240], xmm1
movaps xmm1, xmmword [0x4de350]
movaps xmmword [esp + 0x250], xmm2
movaps xmm2, xmmword [0x4de360]
movaps xmmword [esp + 0x260], xmm1
movaps xmm1, xmmword [0x4de370]
movaps xmmword [esp + 0x270], xmm2
movaps xmmword [esp + 0x280], xmm1
push 0xff
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x28f]
mov ecx, dword [ebp + 8]
mov byte [esp + 0xc], al
test byte [esi + 0x51], 1
mov ebx, 0x18
je 0x437cb0
mov eax, dword [ecx + 0x154]
lea eax, [eax + eax*2]
lea ebx, [eax*8 + 0x18]
mov edi, dword [ecx + 0x148]
call fcn.004388e0
lock dec dword [eax]
mov esi, edx
jne 0x437ccb
mov ecx, eax
mov edx, esi
call fcn.00403b00
mov eax, dword [ebp + 8]
lea edx, [edi + edi*4]
mov ecx, dword [eax + 0x154]
lea eax, [edx + ecx*4]
lea edx, [edx + ecx*4 + 9]
lea ecx, [esi + esi*2]
mov esi, 0xffffffff
add ebx, ecx
movzx ecx, byte [esp + 0xc]
add ebx, edx
mov edx, 0x14
inc ecx
bsr ecx, ecx
not ecx
shr esi, cl
inc esi
tzcnt ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
shl edx, cl
lea ecx, [edi + edi*2]
lea ecx, [edx + ecx*4]
add ecx, ebx
mov ebx, dword [esi + 0x28]
lea eax, [ecx + eax*2 + 0x76]
test ebx, ebx
je 0x438440
mov edi, dword [esi + 0x2c]
mov edx, dword [ebp + 8]
cmp edi, eax
jb 0x43844c
jmp 0x438469
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
movsd xmm0, qword [eax + 0x120]
or esi, dword [esp + 0x48]
or edi, dword [esp + 0x40]
or edx, dword [esp + 0x4c]
or ecx, dword [esp + 0x44]
movsd qword [esp + 0x70], xmm0
or edi, esi
or ecx, edx
movsd xmm0, qword [eax + 0x118]
or ecx, edi
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [eax + 0x108]
movsd xmm1, qword [eax + 0x110]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
je 0x43825d
xor edx, edx
cmp edx, 0x101
mov eax, 0x100
mov ecx, edx
cmovae eax, edx
add cl, 2
mov dword [esp + 0x18], eax
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x18], edx
je 0x43825d
mov eax, edx
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov byte [esp + 0x10], cl
mov ch, dl
and al, 0x78
and ch, 7
shr al, 3
mov cl, ch
neg al
movsx edi, al
mov esi, dword [esp + edi + 0x148]
mov eax, dword [esp + edi + 0x14c]
shld eax, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + edi + 0x144]
mov dword [esp + 0xc], edx
mov edi, dword [esp + edi + 0x140]
mov edx, dword [esp + 0xc]
mov ebx, eax
shr ebx, 1
shr edx, 3
shr ebx, cl
mov cl, ch
and edx, 0x10
shld eax, edi, cl
shl edi, cl
mov ecx, dword [esp + 0x14]
or ebx, esi
and ebx, dword [esp + edx + 0x38]
and edi, dword [esp + edx + 0x30]
and eax, dword [esp + edx + 0x34]
and ecx, dword [esp + edx + 0x3c]
or edi, ebx
mov ebx, dword [esp + 0xc]
or eax, ecx
movzx ecx, byte [esp + 0x10]
lea edx, [ebx + 1]
inc cl
or eax, edi
je 0x437dc0
cmp ebx, 0xfe
mov dword [esp + 0x24], edx
ja 0x43809f
mov eax, edx
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 1
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0
mov ch, dl
shr edx, 3
and al, 0x78
and ch, 7
and edx, 0xfffffff0
shr al, 3
mov cl, ch
neg al
movsx eax, al
mov dword [esp + 0x14], eax
mov esi, dword [esp + eax + 0x128]
mov eax, dword [esp + eax + 0x12c]
shld eax, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + eax + 0x124]
mov eax, edi
shr eax, 1
shr eax, cl
mov cl, ch
mov ch, bl
or eax, esi
mov esi, dword [esp + 0x14]
and eax, dword [esp + edx + 0x38]
mov esi, dword [esp + esi + 0x120]
shld edi, esi, cl
shl esi, cl
and esi, dword [esp + edx + 0x30]
and edi, dword [esp + edx + 0x34]
or esi, eax
mov eax, dword [esp + 0x18]
and eax, dword [esp + edx + 0x3c]
or edi, eax
mov eax, ebx
or edi, esi
je 0x4380a1
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xfe
je 0x438246
mov ch, byte [esp + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 1
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov al, ch
mov dl, ch
inc ch
and al, 0x78
and dl, 7
shr al, 3
mov cl, dl
neg al
movsx esi, al
mov ebx, dword [esp + esi + 0x108]
mov eax, dword [esp + esi + 0x10c]
shld eax, ebx, cl
shl ebx, cl
not cl
mov dword [esp + 0x18], eax
mov edi, dword [esp + esi + 0x104]
mov eax, edi
shr eax, 1
shr eax, cl
mov cl, dl
mov edx, dword [esp + 0x18]
or eax, ebx
mov ebx, dword [esp + 0x14]
add ebx, 2
mov dword [esp + 0x24], ebx
shr ebx, 3
mov esi, dword [esp + esi + 0x100]
and ebx, 0x10
mov byte [esp + 0x10], ch
and eax, dword [esp + ebx + 0x38]
and edx, dword [esp + ebx + 0x3c]
shld edi, esi, cl
shl esi, cl
and esi, dword [esp + ebx + 0x30]
and edi, dword [esp + ebx + 0x34]
mov ebx, dword [esp + 0xc]
or esi, eax
mov eax, dword [esp + 0x14]
or edi, edx
inc eax
or edi, esi
jne 0x437fa0
mov ch, al
test bl, bl
jne 0x4380a9
jmp 0x438177
mov ch, bl
test bl, bl
je 0x438177
dec bl
mov eax, ebx
mov byte [esp + 0xc], bl
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
and bl, 7
and al, 0x78
mov cl, bl
shr al, 3
neg al
movsx eax, al
mov edx, dword [esp + eax + 0xe8]
mov dword [esp + 0x14], edx
shl edx, cl
not cl
mov edi, dword [esp + eax + 0xe4]
mov dword [esp + 0x10], edi
shr edi, 1
shr edi, cl
mov esi, dword [esp + eax + 0xec]
mov cl, bl
mov eax, dword [esp + eax + 0xe0]
or edi, edx
mov edx, dword [esp + 0x14]
shld esi, edx, cl
mov cl, byte [esp + 0xc]
shr cl, 7
movzx edx, cl
mov cl, bl
mov ebx, dword [esp + 0x10]
shl edx, 4
or dword [esp + edx + 0x64], esi
or dword [esp + edx + 0x60], edi
shld ebx, eax, cl
shl eax, cl
or dword [esp + edx + 0x58], eax
or dword [esp + edx + 0x5c], ebx
mov al, ch
mov byte [esp + 0x10], ch
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 1
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
and ch, 7
and al, 0x78
mov cl, ch
shr al, 3
neg al
movsx eax, al
mov ebx, dword [esp + eax + 0xc8]
mov dword [esp + 0xc], ebx
shl ebx, cl
not cl
mov esi, dword [esp + eax + 0xc4]
mov edx, dword [esp + 0xc]
mov edi, esi
shr edi, 1
shr edi, cl
mov cl, ch
or edi, ebx
mov ebx, dword [esp + eax + 0xcc]
mov eax, dword [esp + eax + 0xc0]
shld ebx, edx, cl
mov cl, byte [esp + 0x10]
shr cl, 7
movzx edx, cl
mov cl, ch
shl edx, 4
shld esi, eax, cl
shl eax, cl
or dword [esp + edx + 0x64], ebx
or dword [esp + edx + 0x58], eax
or dword [esp + edx + 0x5c], esi
or dword [esp + edx + 0x60], edi
mov edx, dword [esp + 0x24]
jmp 0x437d9e
mov dword [esp + 0x24], 0x100
mov ch, 0xff
test bl, bl
jne 0x4380a9
jmp 0x438177
xorps xmm0, xmm0
xor eax, eax
xor ecx, ecx
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x270], xmm0
movaps xmmword [esp + 0x260], xmm0
movaps xmmword [esp + 0x250], xmm0
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
jmp 0x43830b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov byte [esp + eax + 0x191], cl
inc eax
cmp eax, 0xff
je 0x4383fc
mov dword [esp + 0x10], ecx
mov ecx, eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 1
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc], eax
and al, 7
and cl, 0x78
shr cl, 3
neg cl
movsx ebx, cl
mov ecx, eax
mov esi, dword [esp + ebx + 0xa8]
mov edx, dword [esp + ebx + 0xac]
shld edx, esi, cl
shl esi, cl
not cl
mov dword [esp + 0x14], edx
mov edx, dword [esp + ebx + 0xa4]
mov ebx, dword [esp + ebx + 0xa0]
mov edi, edx
shr edi, 1
shr edi, cl
mov ecx, eax
mov eax, dword [esp + 0x14]
or edi, esi
mov esi, dword [esp + 0xc]
shld edx, ebx, cl
shl ebx, cl
shr esi, 3
and esi, 0x10
and edi, dword [esp + esi + 0x60]
and ebx, dword [esp + esi + 0x58]
and eax, dword [esp + esi + 0x64]
and edx, dword [esp + esi + 0x5c]
or ebx, edi
or edx, eax
or edx, ebx
je 0x4382f0
mov ecx, dword [esp + 0x10]
inc cl
jne 0x4382f4
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs
mov edx, 0x2b
push 0x4e6678
call fcn.004d6490
lea ecx, [esp + 0x290]
lea eax, [esp + 0x190]
push 0xff
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x28f]
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x20]
mov byte [esp + 0xc], al
test byte [esi + 0x51], 1
mov ebx, 0x18
jne 0x437ca0
jmp 0x437cb0
mov edi, 0x200000
mov edx, dword [ebp + 8]
cmp edi, eax
jae 0x438469
test byte [esi + 0x55], 1
jne 0x438467
mov ecx, dword [esp + 0x28]
mov dword [ecx + 8], 0x2a
mov dword [ecx + 0xc], eax
mov eax, ecx
mov dword [ecx + 0x10], edi
jmp 0x438492
mov edi, eax
mov eax, 4
mov ecx, dword [esp + 0x10]
shl eax, cl
cmp eax, 0x7ffffff
jbe 0x4384ad
mov ecx, dword [esp + 0x28]
mov dword [ecx + 8], 0x2b
mov dword [ecx + 0x10], eax
mov eax, ecx
mov dword [ecx + 0x14], 0
mov dword [eax + 4], 0
mov dword [eax], 2
lock dec dword [edx]
je 0x438692
jmp 0x4388d6
movzx eax, byte [edx + 0x158]
xorps xmm0, xmm0
movaps xmmword [esp + 0x190], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x270], xmm0
movaps xmmword [esp + 0x260], xmm0
movaps xmmword [esp + 0x250], xmm0
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
mov byte [esp + 0x19a], 3
mov byte [esp + 0x19d], 4
mov byte [esp + 0x1ef], 1
mov dword [esp + 0x1c0], 0x1010101
mov dword [esp + 0x1c4], 0x1010101
mov word [esp + 0x1c8], 0x101
mov word [esp + 0x1e9], 0x101
mov dword [esp + 0x1e5], 0x1010101
mov dword [esp + 0x1e1], 0x1010101
mov dword [esp + 0x1dd], 0x1010101
mov dword [esp + 0x1d9], 0x1010101
mov dword [esp + 0x1d5], 0x1010101
mov dword [esp + 0x1d1], 0x1010101
mov dword [esp + 0x1f1], 0x1010101
mov dword [esp + 0x1f5], 0x1010101
mov dword [esp + 0x1f9], 0x1010101
mov dword [esp + 0x1fd], 0x1010101
mov dword [esp + 0x201], 0x1010101
mov dword [esp + 0x205], 0x1010101
mov word [esp + 0x209], 0x101
cmp eax, 0xa
je 0x438619
cmp eax, 0xd
je 0x438619
mov byte [esp + eax + 0x190], 5
lea ecx, [esp + 0x39c]
lea eax, [esp + 0x190]
push 0x100
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0x4c]
movzx eax, byte [esi + 0x50]
cmp cl, 3
mov byte [esp + 0x14], al
mov byte [esp + 0x18], cl
je 0x438650
cmp cl, 2
jne 0x43869e
jmp 0x4386c0
cmp dword [esp + 0x2ac], 0
js 0x437b1e
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 8]
mov dword [eax + 8], 0x2c
mov dword [eax + 0xc], str.cannot_build_lazy_DFAs_for_regexes_with_Unicode_word_boundaries__switch_to_ASCII_word_boundaries__or_heuristically_enable_Unicode_word_boundaries_or_use_a_different_regex_engine__are_not_supported_or_enabledreverse_search_must_match_if_forward_search_doesC:UsersMOHIT_RAHAMAN.cargo_registry_srcindex.crates.io_1cd66030c949c28d_regex_automata_0.4.6_srchybrid_regex.rs
mov dword [eax + 0x10], 0xb1
mov dword [eax + 4], 0
mov dword [eax], 2
lock dec dword [edx]
jne 0x4388d6
mov ecx, edx
call fcn.0042a7f0
jmp 0x4388d6
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x50]
lock inc dword [eax]
jle 0x4388de
mov eax, dword [esi + 0x48]
mov dword [esp + 0x78], eax
mov eax, dword [esi]
movzx ecx, byte [esi + 0x51]
movzx edx, byte [esi + 0x52]
mov ch, byte [esi + 0x53]
mov dword [esp + 0x88], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x8c], ebx
or eax, dword [esi + 4]
mov byte [esp + 0x1f], cl
mov byte [esp + 0x1e], dl
mov byte [esp + 0x1d], ch
je 0x438736
movsd xmm0, qword [esi + 0x20]
mov dword [esp + 0x54], 1
movsd qword [esp + 0x1a8], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [esp + 0x1a0], xmm0
movsd xmm0, qword [esi + 8]
movsd xmm1, qword [esi + 0x10]
movsd qword [esp + 0x198], xmm1
movsd qword [esp + 0x190], xmm0
jmp 0x43873e
mov dword [esp + 0x54], 0
movzx eax, word [esi + 0x54]
xor ecx, ecx
movsd xmm1, qword [esp + 0x198]
mov edi, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x190]
movsd xmm2, qword [esp + 0x1a0]
mov word [esp + 0x2e], ax
mov eax, dword [esi + 0x30]
test eax, eax
setne cl
cmp eax, 2
cmove ecx, eax
mov eax, dword [esi + 0x38]
xor ebx, ebx
mov dword [esp + 0x84], ecx
test eax, eax
setne bl
cmp eax, 2
cmove ebx, eax
mov eax, esi
mov esi, dword [esi + 0x2c]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x3c]
movsd qword [edi + 0x10], xmm1
movsd xmm1, qword [esp + 0x1a8]
movsd qword [edi + 8], xmm0
movsd qword [edi + 0x18], xmm2
mov dword [esp + 0x80], ecx
mov dword [esp + 0x20], eax
movsd qword [edi + 0x20], xmm1
lea eax, [edi + 0x158]
lea ecx, [esp + 0x290]
push 0xff
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0xc]
movsd xmm1, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x40]
mov byte [edi + 0x257], al
movsd qword [edi + 0x260], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [edi + 0x258], xmm0
movsd qword [edi + 0x268], xmm2
lea eax, [edi + 0x58]
movsd qword [edi + 0x270], xmm1
push 0x100
lea ecx, [esp + 0x3a0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x88]
movzx edx, byte [esp + 0x18]
movzx ecx, byte [esp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x54]
mov dword [edi], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 0x2c], esi
movzx esi, word [esp + 0x2e]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x80]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x38], ebx
movzx ebx, byte [esp + 0x1d]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0x48], eax
mov byte [edi + 0x4c], dl
mov byte [edi + 0x50], cl
movzx edx, byte [esp + 0x1f]
movzx ecx, byte [esp + 0x1e]
mov byte [edi + 0x51], dl
mov byte [edi + 0x52], cl
mov ecx, dword [ebp + 8]
mov byte [edi + 0x53], bl
mov word [edi + 0x54], si
mov edx, dword [esp + 0x10]
mov dword [edi + 0x278], ecx
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x27c], edx
mov dword [edi + 0x280], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2