Function at 0x47ffe0
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 0x480048
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 0x48006b
jmp 0x48025e
xorps xmm0, xmm0
movaps xmmword [esp + 0x2a0], xmm0
movaps xmmword [esp + 0x290], xmm0
test dword [eax + 0x130], 0x33300
je 0x48025e
mov eax, dword [esp + 0x20]
test byte [eax + 0x53], 1
jne 0x480168
mov cl, pe_nt_image_headers32
mov ch, pe_nt_image_headers32
nop dword [eax]
inc ch
je 0x480d92
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 0x480080
jmp 0x480da0
mov ch, pe_nt_image_headers32
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 0x480170
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 0x480475
and al, 1
jne 0x480475
movaps xmm0, xmmword [0x539290]
movaps xmm1, xmmword [0x5392a0]
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 [0x5392c0]
movaps xmmword [esp + 0x1b0], xmm2
movaps xmm2, xmmword [0x5392d0]
movaps xmmword [esp + 0x1c0], xmm1
movaps xmm1, xmmword [0x5392e0]
movaps xmmword [esp + 0x1d0], xmm2
movaps xmm2, xmmword [0x5392f0]
movaps xmmword [esp + 0x1e0], xmm1
movaps xmm1, xmmword [0x539300]
movaps xmmword [esp + 0x1f0], xmm2
movaps xmm2, xmmword [0x539310]
movaps xmmword [esp + 0x200], xmm1
movaps xmm1, xmmword [0x539320]
movaps xmmword [esp + 0x210], xmm2
movaps xmm2, xmmword [0x539330]
movaps xmmword [esp + 0x220], xmm1
movaps xmm1, xmmword [0x539340]
movaps xmmword [esp + 0x230], xmm2
movaps xmm2, xmmword [0x539350]
movaps xmmword [esp + 0x240], xmm1
movaps xmm1, xmmword [0x539360]
movaps xmmword [esp + 0x250], xmm2
movaps xmm2, xmmword [0x539370]
movaps xmmword [esp + 0x260], xmm1
movaps xmm1, xmmword [0x539380]
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 0x4803f0
mov eax, dword [ecx + 0x154]
lea eax, [eax + eax*2]
lea ebx, [eax*8 + 0x18]
mov edi, dword [ecx + 0x148]
call fcn.00481020
lock dec dword [eax]
mov esi, edx
jne 0x48040b
mov ecx, eax
mov edx, esi
call fcn.0040e0b0
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 0x480b80
mov edi, dword [esi + 0x2c]
mov edx, dword [ebp + 8]
cmp edi, eax
jb 0x480b8c
jmp 0x480ba9
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 0x48099d
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 0x48099d
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 0x480500
cmp ebx, 0xfe
mov dword [esp + 0x24], edx
ja 0x4807df
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 0x4807e1
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xfe
je 0x480986
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 0x4806e0
mov ch, al
test bl, bl
jne 0x4807e9
jmp 0x4808b7
mov ch, bl
test bl, bl
je 0x4808b7
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 0x4804de
mov dword [esp + 0x24], 0x100
mov ch, 0xff
test bl, bl
jne 0x4807e9
jmp 0x4808b7
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 0x480a4b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov byte [esp + eax + 0x191], cl
inc eax
cmp eax, 0xff
je 0x480b3c
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 0x480a30
mov ecx, dword [esp + 0x10]
inc cl
jne 0x480a34
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x54eb78
call fcn.00532d60
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 0x4803e0
jmp 0x4803f0
mov edi, 0x200000
mov edx, dword [ebp + 8]
cmp edi, eax
jae 0x480ba9
test byte [esi + 0x55], 1
jne 0x480ba7
mov ecx, dword [esp + 0x28]
mov dword [ecx + 8], 0x2a
mov dword [ecx + 0xc], eax
mov eax, ecx
mov dword [ecx + 0x10], edi
jmp 0x480bd2
mov edi, eax
mov eax, 4
mov ecx, dword [esp + 0x10]
shl eax, cl
cmp eax, 0x7ffffff
jbe 0x480bed
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 0x480dd2
jmp 0x481016
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 0x480d59
cmp eax, 0xd
je 0x480d59
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 0x480d90
cmp cl, 2
jne 0x480dde
jmp 0x480e00
cmp dword [esp + 0x2ac], 0
js 0x48025e
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_does_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.5_src_hybrid_regex.rs
mov dword [eax + 0x10], 0xb1
mov dword [eax + 4], 0
mov dword [eax], 2
lock dec dword [edx]
jne 0x481016
mov ecx, edx
call fcn.00473350
jmp 0x481016
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 0x48101e
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 0x480e76
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 0x480e7e
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