Function at 0x100db5d0
Capabilities:
Encode data using xor
Get thread local storage value
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x740
call 0x100db5e4
pop eax
mov esi, ecx
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x618], eax
movzx eax, byte [ecx + 0x120]
test eax, eax
je 0x100db643
cmp eax, 3
jne 0x100ddf7f
movzx eax, byte [esi + 0x11c]
lea edi, [esi + 0x11c]
test eax, eax
je 0x100db7d0
cmp eax, 3
jne 0x100ddf9c
mov eax, dword [esi + 0x118]
lea ebx, [esp + 0x628]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
jmp 0x100de16f
mov eax, esi
lea esi, [esp + 0xd0]
push 0x100
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1bc]
test eax, eax
je 0x100db7ef
mov dword [esp + 0x1c], eax
push esi
call fcn.1004fb10
add esp, 4
mov eax, dword [esp + 0x174]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x100db767
mov edx, dword [esp + 0x18]
mov ecx, eax
shl ecx, 6
lea ecx, [ecx + eax*4]
add ecx, edx
mov ebx, edx
mov dword [esp + 0x10], ecx
jmp 0x100db6ba
cmp ebx, dword [esp + 0x10]
je 0x100db767
mov esi, ebx
add ebx, 0x44
mov ecx, esi
call fcn.1004fc00
mov edi, dword [esi + 0x2c]
test edi, edi
je 0x100db6b0
mov eax, dword [esi + 0x30]
mov dword [esp + 0x14], ebx
test eax, eax
je 0x100db6f0
shl eax, 3
lea eax, [eax + eax*2]
test eax, eax
je 0x100db6f0
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esi + 0x40]
mov dword [esp + 0xc], esi
test eax, eax
je 0x100db730
mov ecx, dword [esp + 0xc]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0x38]
add ebx, 4
jmp 0x100db718
add ebx, 0xc
add edi, 0xfffffff4
je 0x100db730
cmp dword [ebx], 0
je 0x100db710
mov esi, dword [ebx - 4]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x100db710
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x100db6b0
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x100db6b0
mov esi, dword [ecx + 0x38]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x100db6b0
mov eax, dword [esp + 0x178]
test eax, eax
je 0x100db78f
mov ecx, eax
shl ecx, 6
lea eax, [ecx + eax*4]
test eax, eax
je 0x100db78f
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x18]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x180], 0
jne 0x100dc660
mov esi, dword [esp + 0x184]
mov edi, dword [esp + 0x188]
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x100dc660
cmp dword [edi + 8], 9
jae 0x100dc650
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x100dc658
mov edx, dword [esi + 0x110]
lea eax, [esi + 0x110]
lea ecx, [esp + 0x628]
mov dword [esp + 0x2d4], ecx
jmp 0x100de158
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x174]
cmp byte [esp + 0x1c2], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ecx
je 0x100dc569
mov dword [esp + 0x538], 0x104dec04
mov eax, dword [0x104dec08]
cmp eax, 3
jne 0x100ddeb7
mov eax, dword [esp + 0x538]
mov dword [esp + 0x50], ebx
mov eax, dword [eax]
mov dword [esp + 0x48], eax
lock inc dword [eax]
jle 0x100e0cbd
movsd xmm1, qword [esp + 0x3d8]
mov eax, dword [esp + 0x3e8]
movsd xmm0, qword [esp + 0x3e0]
movq xmm2, qword [esp + 0x3c8]
lea ecx, [esp + 0x3c8]
mov edx, str.NO_PROXYno_proxy
movsd qword [esp + 0x638], xmm1
movq xmm1, qword [esp + 0x3d0]
mov dword [esp + 0x648], eax
movsd qword [esp + 0x640], xmm0
movq qword [esp + 0x628], xmm2
movq qword [esp + 0x630], xmm1
push 8
call fcn.100f38b0
add esp, 4
mov eax, dword [esp + 0x3c8]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x100dc56e
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3cc]
test edi, edi
mov dword [esp + 0x28], eax
je 0x100db94a
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + edi]
jmp 0x100db8f6
mov ecx, edx
cmp ecx, eax
je 0x100db94a
movzx ebx, byte [ecx]
lea edx, [ecx + 1]
test bl, bl
jns 0x100db8f0
add ecx, 2
cmp bl, 0xe0
jae 0x100db90f
cmp edx, eax
cmove ecx, edx
jmp 0x100db8f2
cmp bl, 0xed
jne 0x100db92c
cmp edx, eax
cmove ecx, edx
cmp ecx, eax
je 0x100db94a
inc ecx
cmp edx, eax
je 0x100db8f2
cmp byte [edx], 0x9f
jbe 0x100db8f2
jmp 0x100ddf49
cmp edx, eax
mov esi, ecx
cmove esi, edx
lea ecx, [esi + 1]
cmp esi, eax
cmove ecx, esi
cmp bl, 0xf0
jb 0x100db8f2
lea edx, [ecx + 1]
cmp ecx, eax
cmovne ecx, edx
jmp 0x100db8f2
mov eax, dword [esp + 0x20]
test edi, edi
je 0x100dc70a
mov eax, dword [esp + 0x2c]
movdqa xmm3, xmmword [0x103e6560]
movdqa xmm4, xmmword [0x103e6570]
xor ecx, ecx
mov edx, edi
mov dword [esp + 0x78], 4
mov dword [esp + 0x7c], 0
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3cc], edi
mov dword [esp + 0x80], 0
mov dword [esp + 0x30], 4
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
mov esi, eax
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3d4], edi
mov dword [esp + 0x3d8], 0
mov dword [esp + 0x3dc], edi
mov dword [esp + 0x3e0], 0x2c
mov dword [esp + 0x3e4], 1
mov dword [esp + 0x3e8], 0x2c
mov word [esp + 0x3ec], 1
cmp edi, ecx
jb 0x100dbbef
nop dword [eax + eax]
cmp edx, edi
jb 0x100dbbef
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x1c], ebx
jmp 0x100dba50
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp edi, ecx
jb 0x100dbbef
lea eax, [esp + 0x3c8]
mov edx, edi
lea edi, [esi + ecx]
mov esi, ebx
mov dword [esp + 0x14], ecx
mov al, byte [ebx + eax + 0x1f]
sub edx, ecx
cmp edx, 7
ja 0x100dbaa0
test edx, edx
je 0x100dbbe0
xor ebx, ebx
nop dword [eax + eax]
cmp byte [edi + ebx], al
je 0x100dbb53
inc ebx
cmp edx, ebx
jne 0x100dba80
jmp 0x100dbbe0
mov ecx, edi
neg ecx
and ecx, 3
je 0x100dbac7
xor ebx, ebx
nop
cmp byte [edi + ebx], al
je 0x100dbb53
inc ebx
cmp ecx, ebx
jne 0x100dbab0
lea ebx, [edx - 8]
cmp ecx, ebx
jbe 0x100dbacc
jmp 0x100dbb19
lea ebx, [edx - 8]
xor ecx, ecx
movzx esi, al
imul esi, esi, 0x1010101
movd xmm0, esi
pshufd xmm0, xmm0, 0x50
nop
movq xmm1, qword [edi + ecx]
pxor xmm1, xmm0
movdqa xmm2, xmm1
paddd xmm2, xmm3
pandn xmm1, xmm2
pand xmm1, xmm4
pshufd xmm2, xmm1, 0xe5
por xmm2, xmm1
movd esi, xmm2
test esi, esi
jne 0x100dbb11
add ecx, 8
cmp ecx, ebx
jbe 0x100dbae0
cmp ecx, edx
ja 0x100ddfb0
cmp edx, ecx
je 0x100dbbe0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
xor edi, edi
lea esi, [ecx + edx]
mov edx, dword [esp + 0xc]
sub ebx, esi
add edx, esi
mov esi, dword [esp + 0x1c]
nop word [eax + eax]
cmp byte [edx + edi], al
je 0x100dbb4f
inc edi
cmp ebx, edi
jne 0x100dbb40
jmp 0x100dbbe0
add ecx, edi
mov ebx, ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
lea ecx, [ecx + ebx + 1]
mov edi, ecx
mov dword [esp + 0x3d8], ecx
sub edi, esi
mov esi, dword [esp + 0xc]
jb 0x100dba40
cmp edx, ecx
jb 0x100dba40
cmp dword [esp + 0x1c], 5
jae 0x100ddfbf
mov ebx, ecx
lea eax, [esi + edi]
lea ecx, [esp + 0x3e8]
cmp eax, ecx
mov ecx, ebx
je 0x100dbbc8
push dword [esp + 0x1c]
lea ecx, [esp + 0x3ec]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcmp
movdqa xmm4, xmmword [0x103e6570]
movdqa xmm3, xmmword [0x103e6560]
mov ecx, ebx
add esp, 0xc
test eax, eax
jne 0x100dba40
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c8], ecx
lea ecx, [esp + 0x538]
jmp 0x100dbc35
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x3d8], eax
cmp byte [esp + 0x3ec], 0
je 0x100dbc10
mov eax, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3cc]
lea ecx, [esp + 0x538]
jmp 0x100dbc2d
mov eax, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3cc]
lea ecx, [esp + 0x538]
cmp edi, eax
je 0x100dc72c
mov byte [esp + 0x3ed], 1
sub edi, eax
add esi, eax
lea edx, [esp + 0x2d8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x2d8], esi
mov dword [esp + 0x2dc], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x2e0], 0
call fcn.10048950
cmp dword [esp + 0x538], 1
jne 0x100dbd70
mov esi, dword [esp + 0x2dc]
mov edi, dword [esp + 0x2e0]
cmp edi, esi
je 0x100dbd70
jae 0x100ddf71
mov eax, dword [esp + 0x2d8]
cmp byte [eax + edi], 0x2f
mov dword [esp + 0x18], eax
jne 0x100dbd70
inc edi
xor eax, eax
xor edx, edx
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x1c], edi
nop word cs:[eax + eax]
nop
mov ecx, edx
cmp edi, esi
jne 0x100dbcd0
xor edx, edx
test dl, 1
jne 0x100dbd0a
jmp 0x100dbd29
jae 0x100ddf6a
mov edx, dword [esp + 0x18]
movzx ebx, byte [edx + edi]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jae 0x100dbd00
inc edi
mov dl, 1
mov bl, bh
test dl, 1
jne 0x100dbd0a
jmp 0x100dbd29
add bl, 0xc9
xor edx, edx
test dl, 1
je 0x100dbd29
cmp eax, 1
ja 0x100dbd1e
lea edx, [ecx + ecx*4]
movzx ebx, bl
inc eax
lea edx, [ebx + edx*2]
cmp edx, 0x21
jb 0x100dbcc0
mov dword [esp + 0x2e0], edi
xor ebx, ebx
jmp 0x100dbd32
xor ebx, ebx
test eax, eax
setne bl
jne 0x100dbd36
mov edi, dword [esp + 0x1c]
test ebx, ebx
mov dword [esp + 0x2e0], edi
je 0x100dbd70
cmp cl, 0x21
jae 0x100de077
mov eax, dword [esp + 0x53c]
movzx ebx, cl
mov dword [esp + 0x18], 0
jmp 0x100dc3b1
pxor xmm0, xmm0
lea edx, [esp + 0x1d0]
mov dword [esp + 0x2e0], 0
lea ecx, [esp + 0x2d8]
movdqa xmmword [esp + 0x1d0], xmm0
push 8
call fcn.100485f0
add esp, 4
cmp eax, 8
jne 0x100dbec0
movdqa xmm1, xmmword [esp + 0x1d0]
lea ebx, [esp + 0x538]
movdqa xmm0, xmm1
psllw xmm1, 8
psrlw xmm0, 8
por xmm1, xmm0
movdqa xmmword [esp + 0x330], xmm1
movdqu xmmword [esp + 0x4e0], xmm1
mov esi, dword [esp + 0x2dc]
mov edi, dword [esp + 0x2e0]
lea edx, [esp + 0x4e0]
cmp edi, esi
je 0x100dbf32
jae 0x100ddf71
mov eax, dword [esp + 0x2d8]
cmp byte [eax + edi], 0x2f
mov dword [esp + 0x18], eax
jne 0x100dbf32
inc edi
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x1c], edi
nop word cs:[eax + eax]
nop
mov edx, ecx
cmp edi, esi
jne 0x100dbe50
xor ecx, ecx
test cl, 1
jne 0x100dbe8e
jmp 0x100dc312
jae 0x100ddf6a
mov ecx, dword [esp + 0x18]
movzx ebx, byte [ecx + edi]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jae 0x100dbe80
inc edi
mov cl, 1
mov bl, bh
test cl, 1
jne 0x100dbe8e
jmp 0x100dc312
add bl, 0xc9
xor ecx, ecx
test cl, 1
je 0x100dc312
cmp eax, 2
ja 0x100dbea5
lea ecx, [edx + edx*4]
movzx ebx, bl
inc eax
lea ecx, [ebx + ecx*2]
cmp ecx, 0x81
jb 0x100dbe30
mov ecx, edx
mov dword [esp + 0x2e0], edi
xor ebx, ebx
lea edx, [esp + 0x4e0]
jmp 0x100dc324
test dl, 1
lea edx, [esp + 0x4e0]
jne 0x100dbf20
mov edx, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2e0]
cmp ecx, edx
je 0x100dbf10
jae 0x100ddf75
mov esi, dword [esp + 0x2d8]
cmp byte [esi + ecx], 0x3a
jne 0x100dbf10
mov ebx, eax
lea eax, [ecx + 1]
cmp eax, edx
mov dword [esp + 0x2e0], eax
jne 0x100dc49a
mov eax, edx
jmp 0x100dbf12
mov eax, ecx
lea edx, [esp + 0x4e0]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e0], 0
lea ebx, [esp + 0x538]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x2e0], 0
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x4e0], edi
mov esi, edx
mov dword [esp + 0x4e4], eax
call fcn.100fcf20
cmp dword [esp + 0x538], 1
jne 0x100dbfb0
mov cl, byte [esp + 0x38a]
movsd xmm0, qword [esp + 0x230]
mov eax, dword [esp + 0x53c]
mov byte [esp + 0x4a2], cl
movzx ecx, word [esp + 0x388]
movsd qword [esp + 0x1d0], xmm0
mov word [esp + 0x4a0], cx
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x1d8], ecx
xor ecx, ecx
jmp 0x100dc005
mov ecx, ebx
mov edx, esi
call fcn.100fd350
cmp byte [esp + 0x538], 1
jne 0x100dc04d
lea ecx, [esp + 0x53d]
mov al, byte [ecx - 2]
movsd xmm0, qword [ecx + 3]
mov byte [esp + 0x4a2], al
movzx eax, word [ecx - 4]
mov cl, byte [ecx + 0xb]
movsd qword [esp + 0x1d0], xmm0
mov word [esp + 0x4a0], ax
mov eax, dword [esp + 0x53c]
mov byte [esp + 0x1d8], cl
mov cl, 1
movzx edx, word [esp + 0x4a0]
movq xmm0, qword [esp + 0x1d0]
mov esi, dword [esp + 0x1d8]
cmp dword [esp + 0x4e4], 0
mov word [esp + 0x388], dx
mov dl, byte [esp + 0x4a2]
movq qword [esp + 0x538], xmm0
mov dword [esp + 0x540], esi
mov byte [esp + 0x38a], dl
je 0x100dc0b0
cmp dword [esp + 0x14], 0
js 0x100ddf63
je 0x100dc170
mov esi, ebx
call sub.KERNEL32.dll_GetProcessHeap
mov ebx, dword [esp + 0x14]
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100ddfd7
mov ecx, esi
mov edx, ebx
mov dword [esp + 0x538], eax
mov dword [esp + 0x53c], ebx
mov dword [esp + 0x540], 0
call fcn.10116c80
jmp 0x100dc19e
mov edx, dword [esp + 0x540]
movsd xmm0, qword [esp + 0x538]
mov byte [esp + 0x53c], cl
lea esi, [esp + 0x53d]
mov dword [esp + 0x238], edx
movzx edx, word [esp + 0x388]
movsd qword [esp + 0x230], xmm0
movq xmm0, qword [esp + 0x230]
mov word [esp + 0x1d0], dx
movzx ecx, word [esp + 0x1d0]
mov word [esi], cx
mov cl, byte [esp + 0x38a]
mov byte [esp + 0x1d2], cl
mov byte [esp + 0x702], cl
lea ecx, [esp + 0x78]
mov dl, byte [esp + 0x1d2]
mov byte [esi + 2], dl
mov edx, dword [esp + 0x238]
mov dword [esp + 0x540], eax
movq qword [esi + 7], xmm0
mov dword [esi + 0xf], edx
mov edx, ebx
mov dword [esp + 0x538], 0
call fcn.1004f100
movdqa xmm3, xmmword [0x103e6560]
movdqa xmm4, xmmword [0x103e6570]
jmp 0x100dc2d7
mov ecx, ebx
xor edx, edx
mov dword [esp + 0x538], 1
mov dword [esp + 0x53c], 0
mov dword [esp + 0x540], 0
call fcn.10116c80
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x540]
mov eax, dword [esp + 0x538]
add eax, esi
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x24]
add esi, ebx
movsd xmm0, qword [esp + 0x538]
mov dword [esp + 0x238], esi
cmp dword [esp + 0x10], eax
movsd qword [esp + 0x230], xmm0
jne 0x100dc250
inc eax
je 0x100ddf63
mov ecx, dword [esp + 0x24]
mov edx, 0xc
add ecx, ecx
cmp ecx, eax
cmova eax, ecx
mov ecx, 4
cmp eax, 4
cmovbe eax, ecx
xor ecx, ecx
mul edx
mov esi, eax
setno al
jo 0x100ddf63
test esi, esi
js 0x100ddf63
mov cl, al
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
shl ecx, 2
test eax, eax
cmove edi, eax
test edi, edi
je 0x100dc270
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x100dc270
call sub.KERNEL32.dll_GetProcessHeap
push esi
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dc282
mov esi, dword [esp + 0x30]
movdqa xmm3, xmmword [0x103e6560]
movdqa xmm4, xmmword [0x103e6570]
jmp 0x100dc2ae
test esi, esi
je 0x100dc284
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
movdqa xmm3, xmmword [0x103e6560]
movdqa xmm4, xmmword [0x103e6570]
test ecx, ecx
je 0x100ddfe5
mov eax, esi
mov edx, 0xaaaaaaab
mov esi, ecx
mul edx
shr edx, 3
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x30], esi
lea eax, [edx + edx*2]
inc edx
mov dword [esi + eax*4 + 8], ecx
mov dword [esp + 0x10], edx
movq xmm0, qword [esp + 0x230]
movq qword [esi + eax*4], xmm0
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x3ed], 0
jne 0x100dc730
mov esi, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov edi, dword [esp + 0x3dc]
cmp edi, ecx
jae 0x100dba10
jmp 0x100dbbef
xor ebx, ebx
test eax, eax
mov ecx, edx
lea edx, [esp + 0x4e0]
setne bl
jne 0x100dc328
mov edi, dword [esp + 0x1c]
test ebx, ebx
mov dword [esp + 0x2e0], edi
je 0x100dbf2b
mov edx, ecx
cmp dl, 0x81
jae 0x100de08c
movdqa xmm1, xmmword [esp + 0x330]
movzx edx, dl
movdqu xmmword [esp + 0x4e0], xmm1
pshufd xmm0, xmm1, 0xe7
movzx eax, word [esp + 0x4e0]
movd esi, xmm0
pshufd xmm0, xmm1, 0xe5
movd ecx, xmm0
pshufd xmm0, xmm1, 0x4e
shld edx, esi, 8
movd ebx, xmm0
shld esi, ebx, 8
shld ebx, ecx, 8
mov word [esp + 0x388], ax
mov al, byte [esp + 0x4e2]
mov byte [esp + 0x38a], al
movd eax, xmm1
shrd eax, ecx, 0x18
movzx ecx, dx
mov dword [esp + 0x1c], ecx
mov cl, 1
mov dword [esp + 0x18], ecx
mov cl, byte [esp + 0x38a]
movzx edx, word [esp + 0x388]
cmp edi, dword [esp + 0x2dc]
mov byte [esp + 0x4a2], cl
mov word [esp + 0x4a0], dx
mov byte [esp + 0x38a], cl
mov word [esp + 0x388], dx
jne 0x100dc483
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x53d]
mov byte [esp + 0x53c], cl
movzx ecx, word [esp + 0x388]
mov word [esp + 0x230], cx
mov word [edx], cx
mov cl, byte [esp + 0x38a]
mov byte [edx + 2], cl
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x232], cl
mov dword [esp + 0x544], ebx
mov dword [esp + 0x540], eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x548], esi
mov dword [esp + 0x54c], edx
lea edx, [esp + 0x538]
mov dword [esp + 0x538], 1
call fcn.1004f100
mov eax, dword [esp + 0x20]
movdqa xmm3, xmmword [0x103e6560]
movdqa xmm4, xmmword [0x103e6570]
cmp byte [esp + 0x3ed], 0
je 0x100dc2e9
jmp 0x100dc730
mov edi, dword [esp + 0xc]
lea ebx, [esp + 0x538]
lea edx, [esp + 0x4e0]
jmp 0x100dbf41
jae 0x100de0a6
cmp byte [esi + eax], 0x3a
jne 0x100dbf12
mov eax, 8
add ecx, 2
pxor xmm0, xmm0
lea edx, [esp + 0x230]
sub eax, ebx
mov dword [esp + 0x2e0], ecx
movdqa xmmword [esp + 0x230], xmm0
lea ecx, [esp + 0x2d8]
push eax
call fcn.100485f0
add esp, 4
mov ecx, 8
mov edi, eax
cmp ecx, ebx
jb 0x100de0ad
cmp edi, 9
jae 0x100de0be
lea eax, [edi + ebx]
cmp eax, 9
jae 0x100de0cf
lea esi, [ebx + ebx]
mov eax, 0x10
lea ecx, [esp + ebx*2 + 0x538]
sub eax, esi
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
lea eax, [esp + 0x1d4]
push eax
lea ebx, [esp + 0x540]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 8
sub eax, edi
add edi, edi
lea eax, [esp + eax*2 + 0x538]
push edi
lea ecx, [esp + 0x234]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqu xmm1, xmmword [esp + 0x538]
jmp 0x100dbdb9
jmp 0x100dc8ac
mov dword [esp + 0x538], 0
mov esi, dword [esp + 0x538]
lea ecx, [esp + 0x3c8]
mov edx, 0x1041941c
push 8
call fcn.100f38b0
add esp, 4
mov eax, dword [esp + 0x3c8]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x100dc6a5
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3cc]
xor ecx, ecx
test edi, edi
mov dword [esp + 0xc], eax
je 0x100dc6b6
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
lea eax, [ecx + edi]
jmp 0x100dc5ea
mov ecx, edx
cmp ecx, eax
je 0x100dc6b4
movzx ebx, byte [ecx]
lea edx, [ecx + 1]
test bl, bl
jns 0x100dc5e0
cmp bl, 0xe0
jae 0x100dc603
add ecx, 2
cmp edx, eax
cmove ecx, edx
jmp 0x100dc5e2
cmp bl, 0xed
jne 0x100dc627
add ecx, 2
cmp edx, eax
cmove ecx, edx
cmp ecx, eax
je 0x100dc6b4
inc ecx
cmp edx, eax
je 0x100dc5e2
cmp byte [edx], 0x9f
jbe 0x100dc5e2
jmp 0x100ddf59
add ecx, 2
mov esi, edi
cmp edx, eax
mov edi, ecx
cmove edi, edx
lea ecx, [edi + 1]
cmp edi, eax
cmove ecx, edi
cmp bl, 0xf0
jb 0x100dc648
lea edx, [ecx + 1]
cmp ecx, eax
cmovne ecx, edx
mov edi, esi
mov esi, dword [esp + 0x14]
jmp 0x100dc5e2
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x194]
mov esi, dword [esp + 0x18c]
test edi, edi
je 0x100dc68f
shl edi, 2
mov ebx, esi
nop dword [eax + eax]
push dword [ebx]
add ebx, 4
call sub.CRYPT32.dll_CertFreeCertificateContext
add edi, 0xfffffffc
jne 0x100dc680
test dword [esp + 0x190], 0x3fffffff
jne 0x100dde02
jmp 0x100dde10
mov ecx, 1
mov dword [esp + 0x2c], 0
jmp 0x100dc6b6
xor ecx, ecx
mov eax, dword [esp + 0x20]
test esi, esi
je 0x100dc6db
cmp dword [esp + 0x28], 0
je 0x100dc6db
mov ebx, ecx
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x20]
mov ecx, ebx
test ecx, ecx
je 0x100dc6fa
xor ebx, ebx
cmp dword [esp + 0x2c], 0
je 0x100ddef2
cmp dword [esp + 0xc], 0
mov esi, 0
jne 0x100dc711
jmp 0x100dc75f
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
test edi, edi
jne 0x100db956
cmp dword [esp + 0x28], 0
je 0x100dc726
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x2c]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x20]
xor ebx, ebx
xor esi, esi
jmp 0x100dc75f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x28], 0
mov dword [esp + 0x14], ecx
je 0x100dc75f
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x2c]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
cmp eax, ecx
jne 0x100dc7d9
inc ecx
je 0x100ddf63
mov eax, dword [esp + 0x38]
mov edx, 0x44
add eax, eax
cmp eax, ecx
cmova ecx, eax
mov eax, 4
cmp ecx, 4
cmova eax, ecx
xor ecx, ecx
mul edx
mov esi, eax
setno al
jo 0x100ddf63
test esi, esi
js 0x100ddf63
mov edx, dword [esp + 0x38]
mov cl, al
mov eax, dword [esp + 0x50]
shl ecx, 2
test edx, edx
cmove eax, edx
test eax, eax
je 0x100dc7e5
mov edi, eax
mov eax, edx
shl eax, 6
lea eax, [eax + edx*4]
test eax, eax
je 0x100dc7e5
call sub.KERNEL32.dll_GetProcessHeap
push esi
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dc7f7
mov edi, dword [esp + 0x50]
mov edx, ecx
mov ecx, eax
mov esi, eax
jmp 0x100dc817
test esi, esi
je 0x100dc7f9
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test ecx, ecx
je 0x100ddfe5
mov eax, esi
mov edi, ecx
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov edx, 0xf0f0f0f1
mul edx
shr edx, 6
mov eax, ecx
inc esi
mov dword [esp + 0x38], edx
shl eax, 6
mov dword [esp + 0x20], esi
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x48]
mov dword [edi + eax], 3
mov dword [edi + eax + 4], ecx
movsd xmm0, qword [esp + 0x628]
movq xmm1, qword [esp + 0x630]
movsd qword [edi + eax + 8], xmm0
movq qword [edi + eax + 0x10], xmm1
movsd xmm0, qword [esp + 0x638]
movsd qword [edi + eax + 0x18], xmm0
movq xmm0, qword [esp + 0x640]
movq qword [edi + eax + 0x20], xmm0
mov ecx, dword [esp + 0x648]
mov dword [edi + eax + 0x28], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + eax + 0x2c], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi + eax + 0x34], ebx
mov ebx, edi
mov dword [edi + eax + 0x30], ecx
mov ecx, dword [esp + 0x30]
mov dword [edi + eax + 0x38], ecx
mov ecx, dword [esp + 0x24]
mov dword [edi + eax + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + eax + 0x40], ecx
call sub.KERNEL32.dll_GetProcessHeap
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100ddfec
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov esi, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], ebx
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov dword [esp + 0x368], esi
cmp byte [esp + 0x1c8], 0
jne 0x100ddff6
call sub.KERNEL32.dll_GetProcessHeap
push 0x80
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de059
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
movsd xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
movsd qword [eax + 0x18], xmm1
movsd qword [eax + 0x10], xmm0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 1
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x30], 0x11e1a300
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
movsd xmm1, qword [esp + 0x630]
movq xmm0, qword [esp + 0x628]
movsd qword [eax + 0x48], xmm1
movdqa xmm1, xmmword [esp + 0x330]
movq qword [eax + 0x40], xmm0
mov dword [eax + 0x50], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x60], 0
mov word [eax + 0x68], 1
movdqu xmmword [eax + 0x6a], xmm1
mov word [eax + 0x7a], 0
mov ebx, dword [esp + 0x194]
mov al, byte [esp + 0x1c0]
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0x190]
test ebx, ebx
mov byte [esp + 0x1c], al
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
je 0x100dcad0
shl ebx, 2
xor esi, esi
mov edi, 4
xor eax, eax
jmp 0x100dca27
mov edx, esi
mov esi, eax
mov ecx, dword [esp + 0xc]
inc eax
add ebx, 0xfffffffc
mov dword [edi + esi*4], ecx
mov esi, edx
je 0x100dcad9
mov ecx, dword [esp + 0x10]
cmp eax, esi
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0xc], ecx
jne 0x100dca10
mov dword [esp + 0x18], eax
mov eax, esi
inc eax
je 0x100ddf63
lea ecx, [esi + esi]
mov edx, 4
cmp ecx, eax
cmova eax, ecx
cmp eax, 4
cmovbe eax, edx
xor ecx, ecx
mul edx
setno dl
jo 0x100ddf63
test eax, eax
js 0x100ddf63
mov cl, dl
mov dword [esp + 0x14], eax
shl ecx, 2
test esi, esi
cmove edi, esi
test edi, edi
je 0x100dcaa0
lea edx, [esi*4]
test edx, edx
je 0x100dcaa0
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x14]
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dcab4
test eax, eax
je 0x100dcab6
mov edi, eax
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test ecx, ecx
je 0x100ddf93
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, ecx
shr edx, 2
jmp 0x100dca14
xor edx, edx
mov edi, 4
xor eax, eax
mov cl, byte [esp + 0x1c]
xor cl, 1
test dword [esp + 0x30], 0x3fffffff
je 0x100dcb0b
mov esi, eax
mov byte [esp + 0x1c], cl
mov ebx, edx
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x10]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov cl, byte [esp + 0x1c]
mov edx, ebx
mov eax, esi
mov dword [esp + 0x628], 0
mov dword [esp + 0x630], edi
mov dword [esp + 0x634], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x638], eax
mov word [esp + 0x63c], 0x501
mov byte [esp + 0x63e], cl
movzx edx, word [esp + 0x3c]
mov cl, byte [esp + 0x3e]
mov edi, dword [esp + 0x24]
mov word [esp + 0x63f], 0x100
mov dword [esp + 0x18], eax
mov word [esp + 0x641], dx
mov byte [esp + 0x643], cl
lock inc dword [edi]
jle 0x100e0cbd
mov eax, dword [0x1041944c]
movq xmm0, qword [0x10419444]
movq xmm1, qword [0x1041943c]
lea ebx, [esp + 0x3c8]
lea edx, [esp + 0xd0]
mov ecx, ebx
mov dword [esp + 0x548], eax
lea eax, [esp + 0x538]
movq qword [esp + 0x540], xmm0
movq qword [esp + 0x538], xmm1
push eax
call fcn.1004f200
add esp, 4
xor esi, esi
cmp dword [esp + 0x3c8], 1
jne 0x100dcbf1
mov ecx, dword [esp + 0x3d0]
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jbe 0x100de063
mov eax, dword [esp + 0xf0]
imul ecx, ecx, 0x38
lea esi, [eax + ecx + 0x14]
cmp byte [esp + 0x538], 0
je 0x100dcc1e
mov eax, dword [esp + 0x548]
lea ecx, [esp + 0x544]
push dword [esp + 0x540]
push dword [esp + 0x540]
push ecx
call dword [eax + 4]
add esp, 0xc
test esi, esi
je 0x100dcc72
mov eax, dword [esi + 0xc]
lea ecx, [esi + 8]
push dword [esi + 4]
push dword [esi]
push ecx
push ebx
call dword [eax]
add esp, 0x10
mov al, byte [esi + 0x10]
mov byte [esp + 0x3d8], al
movq xmm0, qword [esp + 0x3c8]
movq xmm1, qword [esp + 0x3d0]
mov eax, dword [esp + 0x3d8]
movq qword [esp + 0x230], xmm0
movq qword [esp + 0x238], xmm1
mov dword [esp + 0x240], eax
jmp 0x100dcc7a
mov byte [esp + 0x240], 2
mov ch, byte [esp + 0x1ab]
mov edx, dword [esp + 0x1b8]
mov cl, byte [esp + 0x1c7]
movzx eax, word [esp + 0x1a9]
movq xmm0, qword [esp + 0x1b0]
mov bl, byte [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
mov dword [esp + 0x378], edi
mov dword [esp + 0x708], edx
mov byte [esp + 0x622], ch
mov byte [esp + 0xc], cl
lea ecx, [esp + 0x538]
lea edx, [esp + 0x628]
mov word [esp + 0x620], ax
movq qword [esp + 0x700], xmm0
call fcn.1004b000
cmp dword [esp + 0x538], 1
jne 0x100dcded
mov byte [esp + 0x30], bl
mov ebx, dword [esp + 0x53c]
xor eax, eax
cmp bl, 3
je 0x100dcd36
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x540]
call sub.KERNEL32.dll_GetProcessHeap
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de0e4
mov dword [eax + 4], esi
mov esi, dword [esp + 0x10]
mov dword [eax], ebx
mov ebx, eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x54
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de118
mov dword [eax], ebx
mov dword [eax + 4], 0x10419460
mov ecx, eax
mov bl, byte [esp + 0x30]
movsd xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
mov dword [esp + 0x1c], ecx
movsd qword [eax + 8], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm0, qword [esp + 0x3d8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x3e0]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x3f0]
movsd qword [eax + 0x30], xmm0
mov eax, dword [esp + 0x3f8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], 2
mov al, 1
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
movsd qword [ecx + 0x40], xmm0
movsd qword [ecx + 0x48], xmm1
mov word [ecx + 0x50], 0
jmp 0x100dce1e
mov eax, dword [esp + 0x53c]
movsd xmm0, qword [esp + 0x540]
movsd xmm1, qword [esp + 0x548]
mov dword [esp + 0x1c], eax
xor eax, eax
movsd qword [esp + 0x3c8], xmm0
movsd qword [esp + 0x3d0], xmm1
movsd xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
test al, al
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x80], xmm1
je 0x100dce79
cmp byte [esp + 0x240], 2
jne 0x100dcf4a
lock dec dword [edi]
jne 0x100dcf76
lea ecx, [esp + 0x378]
call fcn.1004f9a0
cmp dword [esp + 0x628], 0
jne 0x100dcf80
jmp 0x100dcf8c
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0x240]
movzx edi, word [esp + 0x620]
mov dl, byte [esp + 0x622]
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x10], esi
xor esi, esi
cmp bl, 1
movsd qword [esp + 0x388], xmm0
movsd qword [esp + 0x2d8], xmm0
movsd xmm0, qword [esp + 0x230]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x20]
movsd qword [esp + 0x390], xmm1
movsd qword [esp + 0x2e0], xmm1
movsd xmm1, qword [esp + 0x238]
mov word [esp + 0x70], di
mov byte [esp + 0x72], dl
mov dword [esp + 0x540], ecx
movsd qword [esp + 0x3c8], xmm0
movsd xmm0, qword [esp + 0x700]
movsd qword [esp + 0x3d0], xmm1
mov dword [esp + 0x608], eax
movsd qword [esp + 0x538], xmm0
je 0x100dcff3
cmp bl, 2
mov ebx, 0
je 0x100dd02a
mov esi, 1
xor ebx, ebx
jmp 0x100dd02a
mov eax, dword [esp + 0x23c]
lea ecx, [esp + 0x238]
push dword [esp + 0x234]
push dword [esp + 0x234]
push ecx
call dword [eax + 4]
add esp, 0xc
lock dec dword [edi]
je 0x100dce5a
cmp dword [esp + 0x628], 0
je 0x100dcf8c
push dword [esp + 0x62c]
call sub.CRYPT32.dll_CertFreeCertificateContext
mov edi, dword [esp + 0x638]
mov esi, dword [esp + 0x630]
test edi, edi
je 0x100dcfbf
shl edi, 2
mov ebx, esi
nop word [eax + eax]
push dword [ebx]
add ebx, 4
call sub.CRYPT32.dll_CertFreeCertificateContext
add edi, 0xfffffffc
jne 0x100dcfb0
test dword [esp + 0x634], 0x3fffffff
je 0x100dcfda
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x20]
mov bl, 1
lock dec dword [ecx]
mov edi, dword [esp + 0x24]
jne 0x100dcfee
call fcn.1004faf0
jmp 0x100dd191
mov al, byte [esp + 0x72]
movzx edx, word [esp + 0x70]
movsd xmm0, qword [esp + 0x538]
mov cl, byte [esp + 0x540]
mov bl, 1
mov byte [esp + 0x35a], al
mov word [esp + 0x358], dx
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], cl
movzx eax, word [esp + 0x358]
movsd xmm0, qword [esp + 0x78]
lea edi, [esp + 0x608]
mov ecx, edi
mov word [esp + 0x348], ax
mov al, byte [esp + 0x35a]
movsd qword [esp + 0x58], xmm0
mov byte [esp + 0x34a], al
mov al, byte [esp + 0x80]
mov byte [esp + 0x60], al
call fcn.1004f6e0
mov edx, dword [esp + 0x10]
mov dword [eax + 0x48], esi
mov dword [eax + 0x4c], edx
mov byte [eax + 0x61], bl
movzx ecx, word [esp + 0x348]
mov word [eax + 0x62], cx
mov cl, byte [esp + 0x34a]
mov byte [eax + 0x64], cl
mov dword [eax + 0x65], edx
movsd xmm0, qword [esp + 0x58]
movsd qword [eax + 0x69], xmm0
mov cl, byte [esp + 0x60]
mov byte [eax + 0x71], cl
mov ecx, edi
call fcn.1004f6e0
mov byte [eax + 0x60], 0
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
mov eax, dword [esp + 0x608]
mov esi, dword [esp + 0x3d8]
movzx edx, word [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
cmp dword [esp + 0x628], 0
movsd qword [esp + 0x80], xmm1
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x548], esi
mov word [esp + 0x2dc], dx
mov dword [esp + 0x2d8], ecx
movsd qword [esp + 0x540], xmm1
movsd qword [esp + 0x538], xmm0
je 0x100dd142
push dword [esp + 0x62c]
call sub.CRYPT32.dll_CertFreeCertificateContext
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x630]
test esi, esi
je 0x100dd16f
shl esi, 2
mov ebx, edi
nop word [eax + eax]
push dword [ebx]
add ebx, 4
call sub.CRYPT32.dll_CertFreeCertificateContext
add esi, 0xfffffffc
jne 0x100dd160
test dword [esp + 0x14], 0x3fffffff
je 0x100dd187
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
xor ebx, ebx
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov eax, dword [esp + 0x548]
mov esi, dword [esp + 0x2d8]
movzx edx, word [esp + 0x2dc]
test bl, bl
movsd qword [esp + 0x4a0], xmm0
movsd qword [esp + 0x4a8], xmm1
movq xmm0, qword [esp + 0x538]
movq xmm1, qword [esp + 0x540]
mov dword [esp + 0x4f0], eax
mov dword [esp + 0xc0], esi
mov word [esp + 0xc4], dx
movq qword [esp + 0x4e0], xmm0
movq qword [esp + 0x4e8], xmm1
je 0x100dd27c
mov eax, dword [esp + 0x368]
lock dec dword [eax]
jne 0x100dd21e
lea ecx, [esp + 0x368]
call fcn.1004f9a0
lea eax, [esp + 0xd0]
push eax
call fcn.1004fb10
add esp, 4
cmp dword [esp + 0x180], 0
jne 0x100ddd9b
mov eax, dword [esp + 0x188]
push dword [esp + 0x184]
call dword [eax]
add esp, 4
mov eax, dword [esp + 0x188]
cmp dword [eax + 4], 0
je 0x100ddd9b
mov esi, dword [esp + 0x184]
cmp dword [eax + 8], 9
jae 0x100ddd8b
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x100ddd93
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1e8], ecx
movsd xmm0, qword [esp + 0x4a0]
movsd xmm1, qword [esp + 0x4a8]
cmp byte [esp + 0x1c4], 0
mov word [esp + 0x27c], 0x101
mov byte [esp + 0x27e], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x268], 0x500000
mov dword [esp + 0x26c], 0x200000
mov dword [esp + 0x270], 0x4000
mov byte [esp + 0x274], 0
mov word [esp + 0x278], 2
mov byte [esp + 0x27a], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 1
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0x5a
mov dword [esp + 0x240], 0
mov dword [esp + 0x248], 0xffffffff
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x4f0]
movsd qword [esp + 0x1f0], xmm0
movsd qword [esp + 0x1f8], xmm1
mov dword [esp + 0x200], edi
movsd xmm0, qword [esp + 0x4e0]
movsd xmm1, qword [esp + 0x4e8]
mov dword [esp + 0x214], eax
mov al, byte [esp + 0xc]
movsd qword [esp + 0x204], xmm0
movsd qword [esp + 0x20c], xmm1
movsd xmm1, qword [esp + 0x118]
movsd xmm0, qword [esp + 0x110]
mov byte [esp + 0x219], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x21a], eax
movzx eax, word [esp + 0xc4]
mov word [esp + 0x21e], ax
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x120]
mov al, byte [esp + 0x1c1]
movsd qword [esp + 0x1d0], xmm0
movsd qword [esp + 0x1e0], xmm1
mov byte [esp + 0x218], al
je 0x100dd41a
mov byte [esp + 0x27e], 1
mov al, byte [esp + 0x1c5]
cmp al, 2
jne 0x100dd451
cmp dword [esp + 0x198], 1
jne 0x100dd465
mov eax, dword [esp + 0x19c]
mov byte [esp + 0x274], 0
mov dword [esp + 0x26c], eax
cmp dword [esp + 0x1a0], 1
je 0x100dd46f
jmp 0x100dd485
test al, al
setne byte [esp + 0x278]
cmp dword [esp + 0x198], 1
je 0x100dd42f
cmp dword [esp + 0x1a0], 1
jne 0x100dd485
mov eax, dword [esp + 0x1a4]
mov byte [esp + 0x274], 0
mov dword [esp + 0x268], eax
movsd xmm1, qword [esp + 0x130]
movsd xmm2, qword [esp + 0x128]
movsd xmm0, qword [esp + 0x138]
mov eax, dword [esp + 0x170]
lea ecx, [esp + 0x1e8]
lea ebx, [esp + 0x27c]
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x230], xmm2
movq xmm2, qword [esp + 0x148]
movsd qword [esp + 0x240], xmm0
mov dword [esp + 0x248], eax
movsd qword [esp + 0x3d8], xmm1
movsd xmm1, qword [esp + 0x140]
movq qword [esp + 0x3d0], xmm2
movsd qword [esp + 0x3c8], xmm1
call fcn.1004f6e0
movsd xmm0, qword [esp + 0x3d8]
movsd qword [eax + 0x40], xmm0
movq xmm0, qword [esp + 0x3c8]
movq xmm1, qword [esp + 0x3d0]
movq qword [eax + 0x38], xmm1
movq qword [eax + 0x30], xmm0
cmp byte [esp + 0x1c6], 0
je 0x100dd54e
mov byte [esp + 0x279], 1
lea edi, [esp + 0x628]
lea esi, [esp + 0x1d0]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
mov al, byte [ebx + 2]
mov byte [esp + 0x2da], al
movzx eax, word [ebx]
mov word [esp + 0x2d8], ax
mov eax, dword [esp + 0x250]
test eax, eax
je 0x100dd5a5
lock inc dword [eax]
jle 0x100e0cbd
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], ecx
jmp 0x100dd5b5
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x25c]
mov cl, byte [esp + 0x27a]
mov edi, dword [esp + 0x258]
mov al, byte [esp + 0x279]
mov dh, byte [esp + 0x274]
mov dl, byte [esp + 0x278]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x264]
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x268]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x260]
mov byte [esp + 0x18], al
mov byte [esp + 0x24], dh
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x26c]
mov dword [esp + 0x330], ecx
mov ecx, dword [esp + 0x270]
mov dword [esp + 0x40], edi
lea edi, [esp + 0x3c8]
mov dword [esp + 0x38], esi
lea esi, [esp + 0x628]
mov dword [esp + 0x2c], ecx
mov ecx, 0x14
mov dword [esp + 0x2d4], esi
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x248]
movq xmm0, qword [esp + 0x240]
movq xmm2, qword [esp + 0x230]
movq xmm1, qword [esp + 0x238]
test ebx, ebx
movq qword [esp + 0x4f0], xmm0
movq qword [esp + 0x4e8], xmm1
movq qword [esp + 0x4e0], xmm2
je 0x100dd8c7
mov byte [esp + 0xc], dl
call fcn.100fec40
test eax, eax
je 0x100de11f
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov edi, dword [eax + 8]
mov dword [esp + 0x28], ecx
mov ecx, esi
mov dword [esp + 0x44], edx
add ecx, 1
adc edx, 0
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.100fec40
test eax, eax
je 0x100de11f
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x48], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0xb8], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x6c], ecx
add ecx, 1
mov dword [eax], ecx
mov dword [esp + 0xbc], edx
mov edx, dword [eax + 4]
mov dword [esp + 0xb4], edx
adc edx, 0
mov dword [eax + 4], edx
call fcn.100fec40
test eax, eax
je 0x100de11f
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x2cc], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
add ecx, 1
mov dword [eax], ecx
mov dword [esp + 0x2d0], edx
mov edx, edi
adc edx, 0
mov dword [eax + 4], edx
movsd xmm1, qword [esp + 0x4e8]
movq xmm0, qword [esp + 0x4e0]
movsd qword [esp + 0x540], xmm1
movq xmm1, qword [esp + 0x4f0]
movq qword [esp + 0x538], xmm0
movq qword [esp + 0x548], xmm1
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de0d6
mov esi, eax
mov dword [eax], 0
call sub.KERNEL32.dll_GetProcessHeap
push 0x90
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de0dd
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
mov esi, dword [esp + 0xb0]
mov dl, byte [esp + 0xc]
movzx ecx, word [esp + 0x358]
mov word [eax + 0xd], cx
mov cl, byte [esp + 0x35a]
mov byte [eax + 0xf], cl
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0x104005c0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0xb8]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0x38], ecx
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0x104005c0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x54], edi
mov dword [eax + 0x50], esi
mov edi, dword [esp + 0x2cc]
mov esi, dword [esp + 0x2d0]
mov dword [eax + 0x5c], edi
mov dword [eax + 0x58], esi
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0x104005c0
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0
movsd xmm0, qword [esp + 0x548]
movsd qword [eax + 0x80], xmm0
movq xmm0, qword [esp + 0x538]
movq xmm1, qword [esp + 0x540]
movq qword [eax + 0x78], xmm1
movq qword [eax + 0x70], xmm0
mov dword [eax + 0x88], ebx
xor eax, eax
test dl, dl
mov ecx, 2
lea edi, [esp + 0x538]
lea esi, [esp + 0x3c8]
setne al
cmp dl, 2
cmovne ecx, eax
movzx eax, word [esp + 0x2d8]
mov dword [esp + 0x28], ecx
mov ecx, 0x14
mov word [esp + 0xc0], ax
mov al, byte [esp + 0x2da]
mov byte [esp + 0xc2], al
movzx eax, word [esp + 0x348]
mov word [esp + 0x58], ax
mov al, byte [esp + 0x34a]
mov byte [esp + 0x5a], al
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x368]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x100dd97c
mov eax, dword [eax + 8]
mov edx, ecx
shl edx, 6
lea ecx, [edx + ecx*4]
add eax, 0x18
jmp 0x100dd95d
cmp edx, 4
je 0x100dd984
add eax, 0x44
add ecx, 0xffffffbc
je 0x100dd97c
mov edx, dword [eax - 0x18]
mov bl, 1
mov dword [esp + 0xc], ebx
test edx, edx
je 0x100dd96f
cmp edx, 1
jne 0x100dd950
cmp dword [eax - 0x14], 0
jne 0x100dd955
cmp byte [eax], 2
je 0x100dd955
jmp 0x100dd984
mov dword [esp + 0xc], 0
movzx eax, word [esp + 0x58]
movsd xmm1, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
movq xmm0, qword [esp + 0x108]
movq xmm3, qword [esp + 0xd0]
lea edi, [esp + 0x408]
lea esi, [esp + 0x538]
mov ecx, 0x14
mov bl, byte [esp + 0x1c3]
mov word [esp + 0x4a0], ax
mov al, byte [esp + 0x5a]
movsd qword [esp + 0x3f8], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x3f0], xmm2
movsd xmm2, qword [esp + 0xe8]
movq qword [esp + 0x400], xmm0
movq qword [esp + 0x3c8], xmm3
mov byte [esp + 0x4a2], al
movzx eax, word [esp + 0xc0]
movsd qword [esp + 0x3e8], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x3e0], xmm2
movsd xmm2, qword [esp + 0x180]
mov word [esp + 0x700], ax
mov al, byte [esp + 0xc2]
movsd qword [esp + 0x3d8], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x4e0], xmm2
movq xmm2, qword [esp + 0x158]
mov byte [esp + 0x702], al
mov eax, dword [esp + 0x388]
movsd qword [esp + 0x3d0], xmm1
movsd xmm1, qword [esp + 0x168]
movq qword [esp + 0x628], xmm2
mov dword [esp + 0x78], eax
mov al, byte [esp + 0x38c]
movsd qword [esp + 0x638], xmm1
movq xmm1, qword [esp + 0x160]
mov byte [esp + 0x7c], al
mov eax, dword [esp + 0x188]
movq qword [esp + 0x630], xmm1
mov dword [esp + 0x4e8], eax
rep movsd dword es:[edi], dword [esi]
call sub.KERNEL32.dll_GetProcessHeap
push 0x100
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de06d
mov dword [eax], 1
mov esi, eax
mov dword [eax + 4], 1
add eax, 8
push 0x90
lea ecx, [esp + 0x3cc]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esi + 0x98], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x9c], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0xa4], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0xa8], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0xac], eax
mov eax, dword [esp + 0x330]
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0xb4], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xb8], eax
mov al, byte [esp + 0x24]
mov byte [esi + 0xbc], al
mov al, byte [esp + 0x4a2]
mov byte [esi + 0xbf], al
movzx eax, word [esp + 0x4a0]
mov word [esi + 0xbd], ax
mov eax, dword [esp + 0x28]
mov byte [esi + 0xc0], al
mov al, byte [esp + 0x18]
mov byte [esi + 0xc1], al
mov al, byte [esp + 0x1c]
mov byte [esi + 0xc2], al
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc4], eax
mov al, byte [esp + 0x702]
mov byte [esi + 0xca], al
movzx eax, word [esp + 0x700]
mov word [esi + 0xc8], ax
mov al, byte [esp + 0x7c]
mov byte [esi + 0xcf], al
mov eax, dword [esp + 0x78]
mov dword [esi + 0xcb], eax
movsd xmm0, qword [esp + 0x628]
movq xmm1, qword [esp + 0x630]
movsd qword [esi + 0xd0], xmm0
movq qword [esi + 0xd8], xmm1
movsd xmm0, qword [esp + 0x638]
movsd qword [esi + 0xe0], xmm0
movq xmm0, qword [esp + 0x4e0]
movq qword [esi + 0xe8], xmm0
mov eax, dword [esp + 0x4e8]
mov dword [esi + 0xf0], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0xf4], eax
mov eax, dword [esp + 0xc]
mov byte [esi + 0xf8], bl
mov byte [esi + 0xf9], al
movzx eax, word [esp + 0x2dc]
mov word [esi + 0xfe], ax
mov eax, dword [esp + 0x2d8]
mov dword [esi + 0xfa], eax
mov eax, dword [esp + 0x250]
test eax, eax
je 0x100ddc92
lock dec dword [eax]
jne 0x100ddc92
lea ecx, [esp + 0x250]
call fcn.10116bf0
mov edi, dword [esp + 0x1bc]
test edi, edi
je 0x100ddd07
mov eax, dword [edi]
test eax, eax
je 0x100ddcd5
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x100ddcd5
mov ebx, dword [edi]
cmp dword [eax + 8], 9
jae 0x100ddcc5
call sub.KERNEL32.dll_GetProcessHeap
push ebx
jmp 0x100ddccd
call sub.KERNEL32.dll_GetProcessHeap
push dword [ebx - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 0x3c], 2
je 0x100ddcf2
cmp dword [edi + 0xc], 0
je 0x100ddcf2
mov edi, dword [edi + 8]
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x1bc]
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x4c]
xor edx, edx
mov dword [eax + 0x108], esi
mov esi, eax
mov ecx, dword [eax + 0x100]
call fcn.100db390
cmp eax, 1
jne 0x100ddd7a
mov eax, dword [0x104debf8]
mov edi, edx
test eax, eax
je 0x100ddd35
mov eax, dword [0x104debfc]
add esi, 0x108
test edi, edi
je 0x100ddf32
mov eax, dword [edi]
test eax, eax
je 0x100ddf07
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x100ddf07
mov ebx, dword [edi]
cmp dword [eax + 8], 9
jae 0x100ddef7
call sub.KERNEL32.dll_GetProcessHeap
push ebx
jmp 0x100ddeff
mov eax, dword [esi + 0x104]
mov dword [esi + 0x10c], eax
jmp 0x100de139
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x1bc]
test esi, esi
je 0x100dde10
mov eax, dword [esi]
test eax, eax
je 0x100dddde
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x100dddde
mov edi, dword [esi]
cmp dword [eax + 8], 9
jae 0x100dddce
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x100dddd6
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esi + 0x3c], 2
je 0x100dddfb
cmp dword [esi + 0xc], 0
je 0x100dddfb
mov esi, dword [esi + 8]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x1bc]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x100]
call fcn.100db390
cmp eax, 1
jne 0x100dde9f
mov eax, dword [0x104debf8]
mov esi, edx
test eax, eax
je 0x100dde38
mov eax, dword [0x104debfc]
test esi, esi
je 0x100dde9f
mov eax, dword [esi]
test eax, eax
je 0x100dde74
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x100dde74
mov edi, dword [esi]
cmp dword [eax + 8], 9
jae 0x100dde64
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x100dde6c
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esi + 0x3c], 2
je 0x100dde91
cmp dword [esi + 0xc], 0
je 0x100dde91
mov edi, dword [esi + 8]
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x4c]
lea ecx, [esi + 0x104]
call fcn.100e1c60
mov bl, 1
xor eax, eax
jmp 0x100df85e
lea eax, [esp + 0x538]
lea ecx, [esp + 0x628]
lea edx, [esp + 0x3c8]
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x628], eax
lea ecx, [0x104dec08]
push 0x10419400
call fcn.100fb490
add esp, 4
jmp 0x100db833
jmp 0x100dc728
call sub.KERNEL32.dll_GetProcessHeap
push dword [ebx - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 0x3c], 2
je 0x100ddf24
cmp dword [edi + 0xc], 0
je 0x100ddf24
mov ebx, dword [edi + 8]
call sub.KERNEL32.dll_GetProcessHeap
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapFree
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esi]
lock dec dword [eax]
jne 0x100dde9f
mov ecx, esi
call fcn.100d7da0
jmp 0x100dde9f
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x538], eax
jmp 0x100dc579
mov ecx, 1
jmp 0x100dc6b6
call fcn.10006550
ud2
mov dword [esp + 0x2e0], edi
mov ecx, edi
mov edx, esi
push 0x1041819c
jmp 0x100de0f6
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1042092c
jmp 0x100e0d5c
mov ecx, dword [esp + 0x14]
jmp 0x100de100
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x104208f4
jmp 0x100e0d5c
push 0x103e833c
call fcn.100098e0
add esp, 4
ud2
mov ecx, dword [esp + 0x1c]
mov edx, 4
push 0x1044a2e0
call fcn.100088f0
add esp, 4
ud2
mov ecx, ebx
mov edx, 1
call fcn.10006540
ud2
mov ecx, esi
jmp 0x100de100
mov ecx, 0x14
jmp 0x100de100
lea eax, [esp + 0x628]
lea ecx, [esp + 0x3c8]
mov edx, 0x1041942c
mov dword [esp + 0x628], 0x10419424
mov dword [esp + str.internal_error:_entered_unreachable_code:], 0x1044b020
mov dword [esp + 0x3cc], 1
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x62c], 0x10009120
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3dc], 1
call fcn.100f9210
ud2
mov ecx, 0x80
jmp 0x100de10c
push 0x10419450
jmp 0x100de0f6
mov ecx, 0x100
jmp 0x100de10c
lea eax, [esp + 0x58]
mov ecx, 0x1044a65b
mov edx, 0x2b
push 0x104182d0
jmp 0x100de09f
lea eax, [esp + 0x58]
mov ecx, 0x1044a65b
mov edx, 0x2b
push 0x104181cc
push 0x1041817c
jmp 0x100de0eb
mov ecx, eax
jmp 0x100ddf75
mov ecx, ebx
mov edx, 8
push 0x104181ac
jmp 0x100ddfcd
mov ecx, edi
mov edx, 8
push 0x104181bc
jmp 0x100ddfcd
call fcn.10048850
ud2
mov ecx, 4
jmp 0x100de100
mov ecx, 0x90
jmp 0x100de10c
mov ecx, 8
jmp 0x100de100
push eax
call fcn.1000a790
add esp, 0xc
ud2
call fcn.10008300
add esp, 4
ud2
mov edx, 4
call fcn.10006540
ud2
mov edx, 8
call fcn.10006540
ud2
mov ecx, 0x54
jmp 0x100de100
lea eax, [esp + 0x58]
mov ecx, 0x1044ace7
mov edx, 0x46
push 0x1044ad30
push 0x10419488
jmp 0x100de0eb
lea edx, [esi + 0x10c]
lea eax, [esi + 0x110]
lea edi, [esi + 0x11c]
mov dword [esi + 0x110], edx
mov byte [esi + 0x11c], 0
mov ebx, dword [esp + 0x2d4]
mov dword [eax + 4], edx
add eax, 4
mov dword [esp + 0xc], edx
mov dword [esi + 0x118], eax
call fcn.10103d00
test eax, eax
je 0x100de11f
movzx ecx, byte [eax]
mov dl, byte [eax + 1]
mov dword [esp + 0x10], ecx
test cx, cx
mov ecx, edx
je 0x100de195
test dl, dl
je 0x100df83f
mov ecx, edx
dec cl
mov dword [esp + 0x28], edx
movzx edx, word [esp + 0x10]
movzx ecx, cl
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
shl ecx, 8
or edx, ecx
lea ecx, [esp + 0xd0]
mov word [eax], dx
mov eax, dword [esp + 0xc]
mov edi, dword [eax]
lea esi, [edi + 0x24]
lea eax, [edi + 8]
mov edx, esi
push eax
call fcn.100d82a0
add esp, 4
mov ebx, dword [esp + 0x110]
mov eax, ebx
and al, 3
cmp al, 2
je 0x100de27f
cmp bl, 3
jne 0x100de2a5
mov eax, dword [esp + 0xc]
mov edx, 1
mov ebx, dword [eax]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [eax]
xor eax, eax
lock cmpxchg dword [ebx + 0x14], edx
cmp eax, 2
je 0x100de37b
test eax, eax
jne 0x100de388
mov eax, dword [ecx + 4]
push dword [ecx]
call dword [eax]
add esp, 4
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x100de241
push dword [ebx + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], edx
call dword [ecx + 0xc]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
add esp, 4
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], edx
xor ecx, ecx
mov eax, 1
lock cmpxchg dword [ebx + 0x14], ecx
je 0x100de388
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], 0
test ecx, ecx
je 0x100e0d4d
xor edx, edx
xchg dword [ebx + 0x14], edx
push eax
call dword [ecx + 4]
add esp, 4
jmp 0x100de388
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
cmp eax, 2
jb 0x100de418
mov ecx, 0x1041cd3c
mov edx, 0x30
push 0x1041cd6c
jmp 0x100e0c24
mov eax, dword [esp + 0xc]
mov ecx, 0xfffffffe
mov esi, dword [esp + 0x114]
mov eax, dword [eax]
lock xadd dword [eax + 0x10], ecx
cmp ecx, 1
jbe 0x100e0d44
movsd xmm1, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
movq xmm0, qword [esp + 0x108]
lea eax, [esp + 0x118]
lea ecx, [esp + 0x3c8]
movsd qword [esp + 0x260], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x258], xmm2
movsd xmm2, qword [esp + 0xe8]
movq qword [esp + 0x268], xmm0
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x248], xmm2
movq xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x240], xmm1
movq xmm1, qword [esp + 0xd8]
movq qword [esp + 0x230], xmm2
movq qword [esp + 0x238], xmm1
push 0x88
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x18]
jmp 0x100de423
mov eax, dword [ecx + 4]
push dword [ecx]
call dword [eax + 8]
add esp, 4
pause
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0xd0]
mov edx, esi
mov eax, dword [eax]
add eax, 8
push eax
call fcn.100d82a0
add esp, 4
mov ebx, dword [esp + 0x110]
mov eax, ebx
and al, 3
cmp al, 2
je 0x100de406
cmp bl, 3
jne 0x100df6f1
cmp byte [edi + 0x30], 0
je 0x100df7c7
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov ebx, 3
mov esi, 0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edi, dword [esp + 0x18]
cmp eax, 2
setb cl
xor edx, edx
sub ebx, ecx
sbb esi, esi
cmp eax, 2
mov eax, dword [esp + 0x28]
movzx eax, al
cmovb eax, edx
jb 0x100de423
cmp byte [esp + 0x10], 0
jne 0x100df7e1
jmp 0x100de423
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
cmp eax, 2
jae 0x100e0d66
mov edi, dword [esp + 0x18]
xor esi, esi
mov ebx, 2
mov eax, ebx
xor eax, 3
or eax, esi
je 0x100df853
movsd xmm1, qword [esp + 0x260]
movsd xmm2, qword [esp + 0x258]
movsd xmm0, qword [esp + 0x268]
lea ecx, [esp + 0x3c8]
lea eax, [esp + 0x628]
movsd qword [esp + 0x568], xmm1
movsd xmm1, qword [esp + 0x250]
movsd qword [esp + 0x560], xmm2
movsd xmm2, qword [esp + 0x248]
movsd qword [esp + 0x570], xmm0
movsd qword [esp + 0x558], xmm1
movsd xmm1, qword [esp + 0x240]
movsd qword [esp + 0x550], xmm2
movsd xmm2, qword [esp + 0x230]
movsd qword [esp + 0x548], xmm1
movsd xmm1, qword [esp + 0x238]
movsd qword [esp + 0x538], xmm2
movsd qword [esp + 0x540], xmm1
push 0x88
push ecx
mov dword [esp + 0x2dc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi], 1
mov dword [esp + 0x57c], esi
mov dword [esp + 0x578], ebx
lea eax, [esp + 0x580]
push 0x88
push dword [esp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor ebx, 2
or ebx, esi
je 0x100df805
movsd xmm0, qword [esp + 0x59c]
mov eax, dword [esp + 0x600]
movsd xmm1, qword [esp + 0x5e4]
mov esi, dword [esp + 0x5b0]
mov edx, dword [esp + 0x5ac]
movsd xmm3, qword [esp + 0x5b4]
movsd qword [esp + 0x398], xmm0
movsd xmm0, qword [esp + 0x594]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x578]
movsd qword [esp + 0x510], xmm1
movsd xmm1, qword [esp + 0x5d4]
test esi, esi
movsd qword [esp + 0x4e0], xmm3
movq xmm3, qword [esp + 0x538]
mov dword [esp + 0x44], edx
sete cl
cmp edx, esi
mov edx, dword [esp + 0x4c]
movsd qword [esp + 0x390], xmm0
movsd xmm0, qword [esp + 0x58c]
mov dword [esp + 0x2cc], eax
movsd qword [esp + 0x500], xmm1
movsd xmm1, qword [esp + 0x5c4]
movq qword [esp + 0x1d0], xmm3
movsd qword [esp + 0x388], xmm0
movsd qword [esp + 0x4f0], xmm1
movsd xmm1, qword [esp + 0x5bc]
mov eax, dword [esp + 0x39c]
movsd xmm2, qword [esp + 0x38c]
movq xmm0, qword [esp + 0x394]
movsd qword [esp + 0x4e8], xmm1
movsd xmm1, qword [esp + 0x568]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5fc]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x5dc]
movq qword [esp + 0x60], xmm0
movsd qword [esp + 0x200], xmm1
movsd xmm1, qword [esp + 0x558]
mov dword [esp + 0x4b0], eax
sete al
movsd qword [esp + 0x508], xmm2
movsd xmm2, qword [esp + 0x5cc]
or al, cl
mov ecx, dword [esp + 0x57c]
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [esp + 0x548]
movsd qword [esp + 0x4f8], xmm2
movsd xmm2, qword [esp + 0x570]
mov dword [esp + 0x61c], ecx
mov ecx, dword [esp + 0x584]
movsd qword [esp + 0x1e0], xmm1
movsd xmm1, qword [esp + 0x540]
movsd qword [esp + 0x208], xmm2
movsd xmm2, qword [esp + 0x560]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x580]
movsd qword [esp + 0x1d8], xmm1
movq xmm1, qword [esp + 0x5f4]
movsd qword [esp + 0x1f8], xmm2
movsd xmm2, qword [esp + 0x550]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x588]
movq qword [esp + 0x4a8], xmm1
movsd qword [esp + 0x1e8], xmm2
movq xmm2, qword [esp + 0x5ec]
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x5a4]
movq qword [esp + 0x4a0], xmm2
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x5a8]
mov dword [esp + 0xbc], ecx
jne 0x100de761
cmp dword [esp + 0x44], esi
jbe 0x100e0c5f
mov ecx, dword [esp + 0x34]
cmp byte [ecx + esi], 0xbf
jle 0x100e0c5f
cmp esi, 4
lea ebx, [esp + 0xd0]
mov dword [esp + 0x6c], esi
jne 0x100de78f
cmp dword [esp + 0x34], 0x1044a47f
je 0x100de96b
mov ecx, dword [esp + 0x34]
cmp dword [ecx], 0x70747468
je 0x100de96b
test al, al
mov eax, dword [esp + 0x6c]
jne 0x100de7af
cmp dword [esp + 0x44], eax
jbe 0x100e0c8a
mov ecx, dword [esp + 0x34]
cmp byte [ecx + eax], 0xbf
jle 0x100e0c8a
cmp eax, 5
jne 0x100de7dc
cmp dword [esp + 0x34], 0x1044afbf
je 0x100de96b
mov ecx, dword [esp + 0x34]
mov eax, 0x70747468
xor eax, dword [ecx]
movzx ecx, byte [ecx + 4]
xor ecx, 0x73
or ecx, eax
je 0x100de96b
movsd xmm2, qword [esp + 0x508]
movsd xmm1, qword [esp + 0x500]
movsd xmm0, qword [esp + 0x510]
mov ecx, 0x10419083
mov edx, 0x19
movsd qword [esp + 0xf8], xmm2
movsd qword [esp + 0xf0], xmm1
movsd xmm2, qword [esp + 0x4f8]
movsd xmm1, qword [esp + 0x4f0]
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xe0], xmm1
movsd xmm2, qword [esp + 0x4e0]
movsd xmm1, qword [esp + 0x4e8]
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm2
call fcn.1004c640
mov esi, eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x54
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de118
mov dword [eax], esi
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0xbc]
mov ecx, eax
mov dword [eax + 4], 0x1041909c
mov word [eax + 0x50], 0
mov dword [esp + 0x18], ecx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edx
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
movsd xmm0, qword [esp + 0x100]
movsd qword [ecx + 0x48], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd qword [ecx + 0x40], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd qword [ecx + 0x38], xmm0
movsd xmm0, qword [esp + 0xe8]
movsd qword [ecx + 0x30], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd8]
movsd qword [ecx + 0x20], xmm1
movsd qword [ecx + 0x18], xmm0
cmp dword [esp + 0x4a0], 2
je 0x100de92e
lea ecx, [esp + 0x4a0]
call fcn.100544e0
lea eax, [esp + 0x1d0]
push eax
call fcn.1004fb10
add esp, 4
cmp byte [esp + 0x58], 0xa
jb 0x100de95e
cmp dword [esp + 0x60], 0
je 0x100de95e
mov esi, dword [esp + 0x5c]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov dword [esp + 0xc], 1
jmp 0x100e0289
mov edi, dword [edx + 0x108]
xor eax, eax
cmp dword [edi + 0x30], 0
mov dword [esp + 0x28], edi
sete al
xor esi, esi
add eax, eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x2d8]
mov dword [esp + 0x2c4], eax
cmp dword [esp + 0x40], 2
je 0x100df3bd
jmp 0x100df330
xor edi, edi
mov dword [esp + 0x40], 2
test edi, edi
je 0x100df40c
lea ecx, [esp + 0x1d0]
call fcn.1004df60
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], esi
xor eax, 2
or eax, dword [esp + 0x1d4]
jne 0x100deaf0
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1e4]
mov edi, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], esi
xor eax, 0x6e657261
xor edi, 0x70736575
mov dword [esp + 0xe0], edi
mov edi, ecx
xor ecx, 0x6c796765
xor edi, 0x736f6d65
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], eax
mov eax, edx
mov edi, dword [esp + 0x24]
mov dword [esp + 0xec], ecx
xor edx, 0x79746573
lea ecx, [esp + 0xe4]
xor eax, 0x6e646f6d
mov dword [esp + 0xf0], eax
mov eax, esi
xor esi, 0x74656462
xor eax, 0x646f7261
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], esi
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x20], 0
cmp byte [edi], 1
jne 0x100deb50
mov ecx, ebx
lea edx, [esp + 0x628]
mov dword [esp + 0x628], 1
push 4
call fcn.10017fe0
add esp, 4
mov edx, dword [edi + 4]
mov ecx, ebx
push dword [edi + 8]
jmp 0x100deb81
cmp byte [edi], 1
jne 0x100dedb0
mov esi, dword [edi + 8]
test esi, esi
je 0x100dedc1
mov edi, dword [edi + 4]
mov ebx, 0xad2aca77
mov eax, 0x47985764
nop word cs:[eax + eax]
nop dword [eax + eax]
movzx ecx, byte [edi]
mov edx, 0x1b3
imul ebx, ebx, 0x1b3
inc edi
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
add ebx, ecx
dec esi
jne 0x100deb20
jmp 0x100dedd0
lea esi, [esp + 0x628]
mov ecx, ebx
mov dword [esp + 0x628], 0
mov edx, esi
push 4
call fcn.10017fe0
add esp, 4
movzx eax, byte [edi + 1]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x628], eax
push 4
call fcn.10017fe0
add esp, 4
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0xfc]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0xf8]
mov eax, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
shl edx, 0x18
xor esi, edi
mov dword [esp + 0x20], edi
or edx, dword [esp + 0x104]
mov dword [esp + 0x1c], edx
xor ecx, edx
mov edx, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0xc], edx
mov edx, eax
mov eax, dword [esp + 0xe4]
mov edi, edx
adc eax, ebx
shld edi, ebx, 0xd
shld ebx, edx, 0xd
mov edx, dword [esp + 0xec]
mov dword [esp + 0x18], eax
xor ebx, eax
mov eax, dword [esp + 0xe8]
xor edi, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x10], eax
mov eax, esi
adc edx, ecx
shrd esi, ecx, 0x10
shld eax, ecx, 0x10
mov dword [esp + 0x14], edx
xor esi, edx
mov edx, dword [esp + 0xc]
xor eax, dword [esp + 0x10]
add dword [esp + 0x18], eax
mov ecx, eax
adc edx, esi
shrd eax, esi, 0xb
shld ecx, esi, 0x15
mov esi, edi
mov dword [esp + 0xc], edx
xor eax, edx
mov edx, dword [esp + 0x18]
xor ecx, edx
add dword [esp + 0x10], edi
adc dword [esp + 0x14], ebx
shld esi, ebx, 0x11
shrd edi, ebx, 0xf
mov ebx, dword [esp + 0xc]
xor edx, dword [esp + 0x20]
xor esi, dword [esp + 0x10]
xor ebx, dword [esp + 0x1c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x14]
xor edi, ebx
xor ebx, 0xff
add edx, esi
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov edx, esi
adc ebx, edi
shld edx, edi, 0xd
shrd esi, edi, 0x13
mov edi, ecx
mov dword [esp + 0xc], ebx
xor esi, ebx
xor edx, dword [esp + 0x18]
add dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x10]
adc ebx, eax
shld edi, eax, 0x10
shrd ecx, eax, 0x10
xor edi, dword [esp + 0x14]
xor ecx, ebx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
add dword [esp + 0xc], edi
mov eax, edi
adc ebx, ecx
shld eax, ecx, 0x15
shrd edi, ecx, 0xb
mov ecx, edx
mov dword [esp + 0x18], ebx
xor edi, ebx
xor eax, dword [esp + 0xc]
add dword [esp + 0x14], edx
mov ebx, dword [esp + 0x10]
adc ebx, esi
shld ecx, esi, 0x11
shrd edx, esi, 0xf
mov esi, dword [esp + 0xc]
xor ecx, dword [esp + 0x14]
xor edx, ebx
mov dword [esp + 0x10], ebx
add esi, ecx
mov ebx, ecx
adc dword [esp + 0x18], edx
shld ebx, edx, 0xd
shrd ecx, edx, 0x13
mov dword [esp + 0xc], esi
mov edx, eax
xor ebx, esi
xor ecx, dword [esp + 0x18]
add dword [esp + 0x10], eax
mov esi, dword [esp + 0x14]
adc esi, edi
shrd eax, edi, 0x10
shld edx, edi, 0x10
mov dword [esp + 0x14], esi
xor eax, esi
mov esi, dword [esp + 0x10]
xor edx, esi
add dword [esp + 0x18], edx
mov edi, edx
adc dword [esp + 0xc], eax
shld edi, eax, 0x15
shrd edx, eax, 0xb
mov eax, dword [esp + 0x14]
xor edx, dword [esp + 0xc]
xor edi, dword [esp + 0x18]
add esi, ebx
mov dword [esp + 0x10], esi
mov esi, ebx
adc eax, ecx
shld esi, ecx, 0x11
shrd ebx, ecx, 0xf
mov ecx, dword [esp + 0x18]
xor esi, dword [esp + 0x10]
xor ebx, eax
mov dword [esp + 0x14], eax
add ecx, esi
mov eax, esi
adc dword [esp + 0xc], ebx
shld eax, ebx, 0xd
shrd esi, ebx, 0x13
mov ebx, dword [esp + 0x14]
xor eax, ecx
mov ecx, dword [esp + 0x10]
xor esi, dword [esp + 0xc]
add ebx, edi
adc ecx, edx
shrd edi, edx, 0x10
xor edi, ecx
shr edi, 0xb
add ebx, eax
mov eax, esi
adc ecx, esi
shr eax, 0xf
xor eax, edi
xor eax, ecx
xor eax, ebx
jmp 0x100dedd0
movzx eax, byte [edi + 1]
xor eax, 0x13f5
imul eax, eax, 0xffffbc91
jmp 0x100dedd0
mov ax, 0x5764
nop word cs:[eax + eax]
nop
and eax, 0x7fff
mov ebx, dword [esp + 0x1f8]
mov esi, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1ec]
mov dword [esp + 0x10], 0
mov ecx, eax
movzx eax, word [esp + 0x208]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], esi
movzx edx, ax
mov eax, ecx
mov dword [esp + 0x1c], edx
and eax, edx
mov edx, dword [esp + 0x1e8]
jmp 0x100dee4b
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
movzx eax, byte [ecx + eax + 1]
cmp al, byte [edx + 1]
je 0x100df307
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x10]
mov edx, esi
inc eax
mov ecx, eax
cmp eax, edi
mov eax, 0
jae 0x100dee4b
movzx eax, word [edx + ecx*4]
mov dword [esp + 0x14], ecx
cmp eax, 0xffff
je 0x100def10
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
movzx eax, word [edx + ecx*4 + 2]
mov esi, edx
mov edx, ecx
mov ecx, ebx
and ecx, eax
sub edx, ecx
and edx, ebx
cmp edx, dword [esp + 0x10]
jb 0x100def10
cmp ax, word [esp + 0xc]
jne 0x100dee40
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jbe 0x100e0c07
imul eax, ecx, 0x38
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
movzx ecx, byte [ecx + eax]
cmp cl, byte [edx]
jne 0x100dee40
test cl, cl
je 0x100dee1c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [ecx + eax + 8]
cmp ebx, dword [edx + 8]
jne 0x100dee40
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + eax + 4]
mov edx, dword [edx + 4]
mov cl, 1
mov dword [esp + 0x330], ecx
cmp eax, edx
je 0x100def00
push ebx
push edx
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100dee40
mov dword [esp + 0x10], 0
jmp 0x100df318
cmp dword [esp + 0x10], 0x1ff
mov eax, dword [esp + 0x1d0]
mov edx, dword [esp + 0x24]
seta bh
xor eax, 2
or eax, dword [esp + 0x1d4]
setne bl
cmp byte [edx], 1
jne 0x100def90
mov eax, dword [edx + 0x10]
mov ecx, edx
add ecx, 0xc
push dword [edx + 8]
push dword [edx + 4]
push ecx
lea ecx, [esp + 0xdc]
push ecx
call dword [eax]
add esp, 0x10
lea eax, [esp + 0xe4]
mov esi, dword [esp + 0xd0]
mov ecx, 1
movq xmm0, qword [eax - 0x10]
mov eax, dword [eax - 8]
movq qword [esp + 0x628], xmm0
mov dword [esp + 0x630], eax
jmp 0x100def99
mov al, byte [edx + 1]
mov esi, dword [esp + 0x2c]
xor ecx, ecx
mov edx, dword [esp + 0x630]
movq xmm0, qword [esp + 0x628]
movzx eax, al
and bh, bl
mov dword [esp + 0x330], 0
mov dword [esp + 0x2c], esi
shl eax, 8
mov bl, bh
or eax, ecx
mov cl, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x238], edx
mov edx, 1
movq qword [esp + 0x230], xmm0
mov dword [esp + 0x3c8], edx
mov edx, dword [esp + 0x238]
lea ecx, [esp + 0x1d0]
movq xmm0, qword [esp + 0x230]
cmp byte [esp + 0x10], 0
mov byte [esp + 0x1c], bl
mov dword [esp + 0x18], esi
mov dword [esp + 0x3cc], ecx
lea ecx, [esp + 0x3d0]
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3d4], esi
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x14]
movq qword [ecx + 8], xmm0
mov dword [esp + 0x3e4], edx
mov edx, dword [esp + 0xc]
mov word [esp + 0x3e8], dx
mov byte [esp + 0x3ea], bl
lea ebx, [esp + 0xd0]
je 0x100df270
mov eax, dword [ecx + 0x10]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm1
movsd qword [esp + 0x78], xmm0
mov ecx, esi
mov eax, dword [esi + 0xc]
add ecx, 8
push dword [esi + 4]
push dword [esi]
push ecx
lea ecx, [esp + 0x2e4]
push ecx
call dword [eax]
add esp, 0x10
mov al, byte [esi + 0x10]
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov esi, dword [esp + 0x1f8]
mov edx, dword [esp + 0x88]
mov byte [esp + 0x2e8], al
movsd qword [esp + 0x238], xmm1
movsd qword [esp + 0x230], xmm0
cmp esi, 0x7fff
mov dword [esp + 0x240], edx
mov ecx, dword [esp + 0x2e8]
movq xmm0, qword [esp + 0x2d8]
movq xmm1, qword [esp + 0x2e0]
mov dword [esp + 0x638], ecx
movq qword [esp + 0x630], xmm1
movq qword [esp + 0x628], xmm0
ja 0x100e0c15
mov eax, dword [esp + 0x240]
movsd xmm0, qword [esp + 0x230]
movsd xmm1, qword [esp + 0x238]
cmp esi, dword [esp + 0x1f4]
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x638]
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [esp + 0x628]
movsd xmm1, qword [esp + 0x630]
mov dword [ecx + 0x10], eax
mov eax, esi
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
jne 0x100df199
lea ecx, [esp + 0x1f0]
mov edx, 1
call fcn.1004e740
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f0]
movsd xmm0, qword [esp + 0xf0]
imul eax, eax, 0x38
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], 0
movsd qword [ecx + eax + 0x20], xmm0
movsd xmm0, qword [esp + 0xe8]
movsd qword [ecx + eax + 0x18], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [ecx + eax + 0x10], xmm0
movq xmm0, qword [esp + 0xd0]
movq xmm1, qword [esp + 0xd8]
movq qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
mov dword [ecx + eax + 0x28], 0
mov word [ecx + eax + 0x34], dx
inc dword [esp + 0x1f8]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1e8]
mov edx, dword [esp + 0x1ec]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, ecx
cmp ecx, edx
mov ecx, 0
jae 0x100df230
movzx edi, word [eax + ebx*4]
cmp di, 0xffff
je 0x100df2b0
mov ecx, dword [esp + 0xc]
inc dword [esp + 0x10]
movzx esi, si
shl ecx, 0x10
or esi, ecx
movzx ecx, word [eax + ebx*4 + 2]
mov dword [esp + 0xc], ecx
mov dword [eax + ebx*4], esi
inc ebx
mov esi, edi
mov ecx, ebx
jmp 0x100df230
mov ecx, dword [esp + 0x330]
mov edi, dword [esp + 0x28]
test al, al
sete al
or cl, al
jne 0x100df3ae
mov eax, dword [esp + 0x3e0]
push dword [esp + 0x3d8]
push dword [esp + 0x1c]
lea ecx, [esp + 0x3e4]
push ecx
call dword [eax + 4]
add esp, 0xc
jmp 0x100df3ae
cmp byte [esp + 0x1c], 0
mov ecx, dword [esp + 0xc]
mov word [eax + ebx*4], si
sete dl
cmp dword [esp + 0x10], 0x80
mov word [eax + ebx*4 + 2], cx
setb cl
test dl, cl
jne 0x100df390
mov eax, dword [esp + 0x1d4]
or eax, dword [esp + 0x1d0]
jne 0x100df390
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 1
jmp 0x100df390
mov al, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
xor edx, edx
jmp 0x100defdf
mov edx, dword [edi + 0x30]
cmp edx, esi
jbe 0x100e0c2e
mov eax, dword [edi + 0x28]
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x50]
je 0x100df380
mov edx, dword [edi + 0x3c]
cmp edx, ecx
jbe 0x100e0c44
mov edi, dword [edi + 0x34]
lea edx, [ecx + ecx*8]
xor ebx, ebx
cmp dword [edi + edx*4 + 0x1c], 1
lea ecx, [edi + edx*4]
mov dword [esp + 0x48], ecx
lea ecx, [edi + edx*4 + 0x20]
mov edx, 2
sete bl
sub edx, ebx
mov dword [esp + 0x40], edx
jmp 0x100df3f2
mov ecx, esi
jmp 0x100df3ce
mov edx, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
lea ebx, [esp + 0xd0]
cmp edx, ecx
jbe 0x100e0c3a
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x40], 2
jne 0x100df330
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x30]
jae 0x100de9b0
mov eax, dword [edi + 0x28]
mov esi, ecx
imul edx, ecx, 0x38
xor ebx, ebx
mov edi, 2
cmp dword [eax + edx + 0x28], 1
lea ecx, [eax + edx + 0x2c]
lea edx, [eax + edx + 0x14]
mov dword [esp + 0x48], edx
sete bl
sub edi, ebx
mov dword [esp + 0x40], edi
mov ecx, dword [ecx]
imul edi, esi, 0x38
lea ebx, [esp + 0xd0]
add edi, eax
mov dword [esp + 0x50], ecx
test edi, edi
jne 0x100de9c2
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x3c8]
mov ecx, esi
push dword [esp + 0x44]
call fcn.100079c0
add esp, 4
lea ecx, [esp + 0xd0]
mov edx, esi
call fcn.100352f0
cmp byte [esp + 0xd0], 1
je 0x100e0cc1
movsd xmm2, qword [esp + 0xec]
movsd xmm1, qword [esp + 0xe4]
mov eax, dword [esp + 0xfc]
movsd xmm0, qword [esp + 0xf4]
cmp dword [esp + 0x4a0], 2
mov edi, dword [esp + 0x28]
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0x88], xmm1
movq xmm2, qword [esp + 0xd4]
movq xmm1, qword [esp + 0xdc]
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm0
movq qword [esp + 0x80], xmm1
movq qword [esp + 0x78], xmm2
jne 0x100df4e9
mov dword [esp + 0x14], 0x10419114
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x100df5e5
mov eax, dword [esp + 0x4b0]
movsd xmm0, qword [esp + 0x4a0]
movq xmm1, qword [esp + 0x4a8]
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x20], 1
mov dword [esp + 0xe0], eax
movq qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm0
mov eax, 1
cmp dword [esp + 0xd0], 1
je 0x100df595
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0xdc]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push ecx
push esi
call dword [eax]
add esp, 0x10
mov eax, dword [esp + 0x3d0]
movsd xmm0, qword [esp + 0x3c8]
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x3d4]
movsd qword [esp + 0x230], xmm0
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0x230]
mov dword [esp + 0xc], eax
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xdc]
movsd qword [esp + 0x3c8], xmm0
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x3d0]
movq xmm0, qword [esp + 0x3c8]
mov dword [esp + 0x610], eax
movq qword [esp + 0x608], xmm0
cmp byte [edi + 0xf9], 0
je 0x100dfabd
mov al, byte [esp + 0x78]
test al, al
je 0x100dfabd
cmp al, 1
je 0x100df636
test al, al
jne 0x100dfabd
mov ecx, 0x10400e68
call fcn.100329a0
ud2
cmp byte [esp + 0x79], 1
je 0x100dfabd
mov eax, dword [0x10419840]
movq xmm0, qword [0x10419838]
movq xmm1, qword [0x10419830]
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x1d0]
mov dword [esp + 0x638], eax
lea eax, [esp + 0x628]
movq qword [esp + 0x630], xmm0
movq qword [esp + 0x628], xmm1
push eax
call fcn.1004f200
add esp, 4
mov edi, dword [esp + 0xd0]
cmp byte [esp + 0x628], 0
je 0x100df6c1
mov eax, dword [esp + 0x638]
lea ecx, [esp + 0x634]
push dword [esp + 0x630]
push dword [esp + 0x630]
push ecx
call dword [eax + 4]
add esp, 0xc
mov eax, dword [esp + 0x28]
test edi, edi
jne 0x100dfabd
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x100dfabd
mov ebx, dword [ecx + 8]
mov ecx, eax
shl ecx, 6
lea edi, [ecx + eax*4]
add ebx, 0x10
jmp 0x100df8fd
mov eax, dword [esp + 0xc]
mov ecx, 0xfffffffe
mov esi, dword [esp + 0x114]
mov eax, dword [eax]
lock xadd dword [eax + 0x10], ecx
mov edi, dword [esp + 0x18]
cmp ecx, 1
jbe 0x100e0d7a
movsd xmm1, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
movq xmm0, qword [esp + 0x108]
lea eax, [esp + 0x118]
lea ecx, [esp + 0x3c8]
movsd qword [esp + 0x260], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x258], xmm2
movsd xmm2, qword [esp + 0xe8]
movq qword [esp + 0x268], xmm0
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x248], xmm2
movq xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x240], xmm1
movq xmm1, qword [esp + 0xd8]
movq qword [esp + 0x230], xmm2
movq qword [esp + 0x238], xmm1
push 0x88
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x100de423
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
xor esi, esi
mov ebx, 3
cmp byte [esp + 0x10], 0
je 0x100de423
mov dword [esp + 0x28], eax
call fcn.10103d00
test eax, eax
je 0x100e0d27
movzx ecx, byte [esp + 0x28]
shl ecx, 8
or ecx, 1
mov word [eax], cx
jmp 0x100de423
mov eax, dword [0x104debf8]
mov esi, dword [esp + 0x4c]
cmp eax, 5
jb 0x100df8a4
mov eax, dword [0x104d5390]
test eax, eax
jne 0x100df82a
mov ecx, 0x104d5390
call fcn.100f2650
push eax
call sub.KERNEL32.dll_TlsGetValue
cmp eax, 2
jb 0x100df86c
cmp dword [eax], 1
jne 0x100df86c
add eax, 4
jmp 0x100df879
mov eax, dword [esp + 0x3c4]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 8]
add esp, 4
mov esi, dword [esp + 0x4c]
mov al, 1
mov bl, 3
mov byte [edi], 3
mov byte [esi + 0x120], bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.100f27a0
test eax, eax
je 0x100e0d83
mov ecx, eax
call fcn.100f2870
mov dword [esp + 0xd0], eax
mov eax, dword [0x104debfc]
mov eax, dword [esp + 0xd0]
lock dec dword [eax]
jne 0x100df8a4
lea ecx, [esp + 0xd0]
call fcn.100f2c20
lea ecx, [esi + 0x10c]
call fcn.100e1c60
mov eax, dword [esi + 0x108]
mov bl, 1
lock dec dword [eax]
jne 0x100ddeb0
lea ecx, [esi + 0x108]
call fcn.100d7da0
jmp 0x100ddeb0
mov eax, dword [ebx - 0x10]
mov eax, dword [eax*4 + 0x100e0d98]
add eax, dword [esp + 0x618]
jmp eax
movsd xmm0, qword [0x104201bc]
mov eax, dword [0x104201cc]
lea edi, [esp + 0x230]
lea edx, [esp + 0x58]
mov ecx, edi
movsd qword [esp + 0xd6], xmm0
movsd xmm0, qword [0x104201c4]
mov dword [esp + 0xe6], eax
movsd qword [esp + 0xde], xmm0
movsd xmm0, qword [esp + 0xd0]
movzx eax, word [esp + 0xe8]
movsd qword [esp + 0x3c8], xmm0
movsd xmm0, qword [esp + 0xd8]
mov word [esp + 0x3e0], ax
movzx eax, word [esp + 0x3e0]
movsd xmm2, qword [esp + 0x3c8]
movsd qword [esp + 0x3d0], xmm0
movsd xmm0, qword [esp + 0xe0]
mov byte [esp + 0xd0], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xf0], 2
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 4
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 4
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov word [esp + 0x110], 0
movsd xmm1, qword [esp + 0x3d0]
mov word [esp + 0x12a], ax
movsd qword [esp + 0x112], xmm2
movsd qword [esp + 0x3d8], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd qword [esp + 0x11a], xmm1
movsd qword [esp + 0x122], xmm0
mov dword [esp + 0x130], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x134], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0x10419114
mov dword [esp + 0x144], 0x1041fb7c
mov dword [esp + 0x148], 1
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0x10419114
mov word [esp + 0x154], 0xffff
mov dword [esp + 0x158], 0
mov byte [esp + 0x15c], 2
call fcn.10054fb0
lea esi, [esp + 0x3c8]
lea ebx, [esp + 0xd0]
mov ecx, esi
mov edx, ebx
push edi
call fcn.10055150
add esp, 4
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x88]
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x98]
lea ecx, [esp + 0x628]
mov edx, esi
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xe0], xmm1
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov dword [esp + 0xf8], eax
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm2
push ebx
call fcn.10055630
add esp, 4
mov al, byte [esp + 0x62a]
mov bh, byte [esp + 0x629]
mov bl, byte [esp + 0x628]
mov byte [esp + 0x24], al
lea eax, [esp + 0x62b]
push 0x8d
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
cmp bl, 1
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], edx
mov dword [esp + 0x2e0], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2e4], edx
mov dword [esp + 0x2e8], ecx
je 0x100e0ce9
lea eax, [esp + 0x235]
push 0x88
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
mov eax, dword [esp + 0x2e8]
lea edi, [esp + 0xd5]
movsd qword [esp + 0x450], xmm0
movsd qword [esp + 0x458], xmm1
mov dword [esp + 0x460], eax
push 0xa0
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xa0
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x2cc]
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x2d0]
xor ecx, 1
mov ebx, dword [eax + 0x108]
or ecx, dword [esp + 0x61c]
je 0x100dfe5f
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x24], 0
xor eax, 1
or eax, dword [ebx + 0xd4]
jne 0x100dfea9
mov edi, dword [ebx + 0xe0]
mov eax, dword [ebx + 0xdc]
mov ecx, dword [ebx + 0xd8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ecx
call fcn.100fe060
add eax, dword [esp + 0xb0]
adc edx, dword [esp + 0xb4]
jb 0x100e0ca4
add edi, ecx
cmp edi, 0x3b9aca00
jb 0x100dfe94
add eax, 1
adc edx, 0
jb 0x100e0ca4
add edi, 0xc4653600
mov ecx, eax
push 0
push 0
push 0
push edi
call fcn.101085b0
add esp, 0x10
mov dword [esp + 0x24], eax
lea edi, [esp + 0xd0]
lea edx, [esp + 0x1d0]
mov ecx, edi
call fcn.10055920
push esi
call fcn.1004fb10
add esp, 4
movsd xmm1, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
mov dword [esp + 0x14], ebx
movsd xmm0, qword [esp + 0x108]
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x3f8], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x3f0], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x400], xmm0
lea ebx, [eax + 0x48]
movsd qword [esp + 0x3e8], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x3e0], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x3d8], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x3c8], xmm2
movsd qword [esp + 0x3d0], xmm1
push 0xa0
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, ebx
mov edx, edi
call fcn.10055e10
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x508]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x58]
movq xmm3, qword [esp + 0x4e0]
mov dword [esp + 0x30], edx
movsd qword [esp + 0x2e0], xmm1
movsd xmm1, qword [esp + 0x510]
movsd qword [esp + 0x258], xmm2
movsd xmm2, qword [esp + 0x4f8]
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x610]
movsd qword [esp + 0x2d8], xmm0
movq qword [esp + 0x230], xmm3
movsd qword [esp + 0x260], xmm1
movsd xmm1, qword [esp + 0x500]
movsd qword [esp + 0x248], xmm2
movsd xmm2, qword [esp + 0x208]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [esp + 0x4f0]
movsd qword [esp + 0x660], xmm2
movsd xmm2, qword [esp + 0x1f8]
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [esp + 0x4e8]
movsd qword [esp + 0x650], xmm2
movsd xmm2, qword [esp + 0x1e8]
movsd qword [esp + 0x238], xmm1
movsd xmm1, qword [esp + 0x200]
movsd qword [esp + 0x640], xmm2
movsd xmm2, qword [esp + 0x1d0]
movsd qword [esp + 0x658], xmm1
movsd xmm1, qword [esp + 0x1f0]
movsd qword [esp + 0x628], xmm2
movsd qword [esp + 0x648], xmm1
movsd xmm1, qword [esp + 0x1e0]
movsd qword [esp + 0x638], xmm1
movsd xmm1, qword [esp + 0x1d8]
movsd qword [esp + 0x630], xmm1
movsd xmm1, qword [esp + 0x608]
movsd qword [esp + 0xc0], xmm1
lock inc dword [eax]
jle 0x100e0cbd
movsd xmm1, qword [esp + 0x2e0]
movsd xmm2, qword [esp + 0x230]
mov eax, dword [esp + 0x2e8]
movsd xmm0, qword [esp + 0x2d8]
lea edi, [esp + 0x2d8]
lea esi, [esp + 0xd0]
mov ecx, 0x15
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [esp + 0x238]
movsd qword [esp + 0x700], xmm2
movsd xmm2, qword [esp + 0x248]
mov dword [esp + 0x120], eax
movsd qword [esp + 0x110], xmm0
mov eax, dword [esp + 0xc8]
movsd qword [esp + 0x708], xmm1
movsd xmm1, qword [esp + 0x240]
movsd qword [esp + 0x718], xmm2
movsd xmm2, qword [esp + 0x258]
mov dword [esp + 0x350], eax
movsd qword [esp + 0x710], xmm1
movsd xmm1, qword [esp + 0x250]
movsd qword [esp + 0x728], xmm2
movsd xmm2, qword [esp + 0x660]
movsd qword [esp + 0x720], xmm1
movsd xmm1, qword [esp + 0x260]
movsd qword [esp + 0x108], xmm2
movsd xmm2, qword [esp + 0x650]
movsd qword [esp + 0x730], xmm1
movsd xmm1, qword [esp + 0x658]
movsd qword [esp + 0xf8], xmm2
movsd xmm2, qword [esp + 0x640]
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [esp + 0x648]
movsd qword [esp + 0xe8], xmm2
movsd xmm2, qword [esp + 0x628]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x638]
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0x630]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x348], xmm1
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x4e0]
lea esi, [esp + 0x2d8]
mov ecx, 0x15
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x720]
movsd xmm2, qword [esp + 0x728]
movsd xmm0, qword [esp + 0x730]
mov eax, dword [esp + 0x350]
movsd qword [esp + 0x4c0], xmm1
movsd xmm1, qword [esp + 0x710]
movsd qword [esp + 0x4c8], xmm2
movsd xmm2, qword [esp + 0x718]
movsd qword [esp + 0x4d0], xmm0
mov dword [esp + 0x360], eax
movsd qword [esp + 0x4b0], xmm1
movsd xmm1, qword [esp + 0x708]
movsd qword [esp + 0x4b8], xmm2
movsd xmm2, qword [esp + 0x700]
movsd qword [esp + 0x4a8], xmm1
movsd xmm1, qword [esp + 0x348]
movsd qword [esp + 0x4a0], xmm2
movsd qword [esp + 0x358], xmm1
call fcn.101076e0
cmp eax, 3
je 0x100e0c6f
mov dword [esp + 0x70], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x74], edx
lea edi, [esp + 0x1d0]
lea esi, [esp + 0x4e0]
mov ecx, 0x15
mov ebx, eax
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x4c0]
movsd xmm2, qword [esp + 0x4c8]
mov eax, dword [esp + 0x360]
movsd xmm0, qword [esp + 0x4d0]
movsd qword [esp + 0x3a8], xmm1
movsd xmm1, qword [esp + 0x4b0]
movsd qword [esp + 0x3b0], xmm2
movsd xmm2, qword [esp + 0x4b8]
mov dword [esp + 0x370], eax
movsd qword [esp + 0x3b8], xmm0
movsd qword [esp + 0x398], xmm1
movsd xmm1, qword [esp + 0x4a8]
movsd qword [esp + 0x3a0], xmm2
movq xmm2, qword [esp + 0x4a0]
movsd qword [esp + 0x390], xmm1
movsd xmm1, qword [esp + 0x358]
movq qword [esp + 0x388], xmm2
movsd qword [esp + 0x368], xmm1
push 0xd8
lea eax, [esp + 0x62c]
push eax
lea esi, [esp + 0x3d0]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movq xmm0, qword [esp + 0x608]
movq xmm1, qword [esp + 0x610]
movzx eax, word [esp + 0x4dd]
mov cl, byte [esp + 0x4df]
cmp ebx, 1
movq qword [esp + 0xc0], xmm0
movq qword [esp + 0xc8], xmm1
mov word [esp + 0x54], ax
mov byte [esp + 0x56], cl
je 0x100e0788
cmp ebx, 2
jne 0x100e0c4e
lea edi, [esp + 0x230]
lea esi, [esp + 0x1d0]
mov ecx, 0x15
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x3a8]
movsd xmm2, qword [esp + 0x3b0]
mov eax, dword [esp + 0x370]
movsd xmm0, qword [esp + 0x3b8]
movsd qword [esp + 0x98], xmm1
movsd xmm1, qword [esp + 0x398]
movsd qword [esp + 0xa0], xmm2
movsd xmm2, qword [esp + 0x3a0]
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0x380], eax
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x390]
movsd qword [esp + 0x90], xmm2
movq xmm2, qword [esp + 0x388]
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x368]
movq qword [esp + 0x78], xmm2
movsd qword [esp + 0x378], xmm1
push 0xd8
lea eax, [esp + 0x3cc]
push eax
lea eax, [esp + 0xd8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x54]
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc8]
mov word [esp + 0x3c], ax
mov al, byte [esp + 0x56]
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x60], xmm1
mov byte [esp + 0x3e], al
call sub.KERNEL32.dll_GetProcessHeap
push 0x1f8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100e0c80
mov dword [eax], 0x8c
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x10420904
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0xc]
lea esi, [esp + 0x230]
mov ecx, 0x15
lea edi, [ebx + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x24], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x330]
mov dword [ebx + 0x88], eax
mov eax, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movsd qword [ebx + 0x8c], xmm0
movsd qword [ebx + 0x94], xmm1
movsd xmm0, qword [esp + 0x88]
movsd qword [ebx + 0x9c], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [ebx + 0xa4], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [ebx + 0xac], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [ebx + 0xb4], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [ebx + 0xbc], xmm0
mov dword [ebx + 0xc4], eax
movsd xmm0, qword [esp + 0x378]
movsd qword [ebx + 0xc8], xmm0
mov eax, dword [esp + 0x380]
mov dword [ebx + 0xd0], eax
mov eax, dword [esp + 0x2c8]
mov dword [ebx + 0xd4], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xd8], 4
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0xe4], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0xe8], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xec], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xf0], eax
mov eax, ebx
add eax, 0xf8
push 0xd8
lea ecx, [esp + 0xd4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x10]
mov edx, ebx
mov dword [ebx + 0x1d0], eax
add ecx, 8
movq xmm0, qword [esp + 0x58]
movq xmm1, qword [esp + 0x60]
movq qword [ebx + 0x1d4], xmm0
movq qword [ebx + 0x1dc], xmm1
mov byte [ebx + 0x1e4], 0
movzx eax, word [esp + 0x3c]
mov word [ebx + 0x1e5], ax
mov al, byte [esp + 0x3e]
mov byte [ebx + 0x1e7], al
mov dword [ebx + 0x1e8], 0
mov dword [ebx + 0x1f4], 0
push 0
call fcn.10108330
add esp, 4
mov esi, dword [esp + 0x4c]
jmp 0x100e0ad2
mov edx, esi
lea edi, [esp + 0x230]
lea esi, [esp + 0x1d0]
mov ecx, 0x15
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x3a8]
movsd xmm2, qword [esp + 0x3b0]
mov eax, dword [esp + 0x370]
movsd xmm0, qword [esp + 0x3b8]
movsd qword [esp + 0x98], xmm1
movsd xmm1, qword [esp + 0x398]
movsd qword [esp + 0xa0], xmm2
movsd xmm2, qword [esp + 0x3a0]
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0x380], eax
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x390]
movsd qword [esp + 0x90], xmm2
movq xmm2, qword [esp + 0x388]
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0x368]
movq qword [esp + 0x78], xmm2
movsd qword [esp + 0x378], xmm1
push 0xd8
push edx
lea eax, [esp + 0xd8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x54]
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc8]
mov word [esp + 0x3c], ax
mov al, byte [esp + 0x56]
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x60], xmm1
mov byte [esp + 0x3e], al
call sub.KERNEL32.dll_GetProcessHeap
push 0x1f8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100e0c80
mov dword [eax], 0x8c
mov ebx, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x10420918
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0xc]
lea esi, [esp + 0x230]
mov ecx, 0x15
lea edi, [ebx + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x24], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x330]
mov dword [ebx + 0x88], eax
mov eax, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movsd qword [ebx + 0x8c], xmm0
movsd qword [ebx + 0x94], xmm1
movsd xmm0, qword [esp + 0x88]
movsd qword [ebx + 0x9c], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [ebx + 0xa4], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [ebx + 0xac], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [ebx + 0xb4], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [ebx + 0xbc], xmm0
mov dword [ebx + 0xc4], eax
movsd xmm0, qword [esp + 0x378]
movsd qword [ebx + 0xc8], xmm0
mov eax, dword [esp + 0x380]
mov dword [ebx + 0xd0], eax
mov eax, dword [esp + 0x2c8]
mov dword [ebx + 0xd4], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xd8], 4
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0xe4], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0xe8], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xec], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xf0], eax
mov eax, ebx
add eax, 0xf8
push 0xd8
lea ecx, [esp + 0xd4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xb8]
mov dword [ebx + 0x1d0], eax
movq xmm0, qword [esp + 0x58]
movq xmm1, qword [esp + 0x60]
movq qword [ebx + 0x1d4], xmm0
movq qword [ebx + 0x1dc], xmm1
mov byte [ebx + 0x1e4], 0
movzx eax, word [esp + 0x3c]
mov word [ebx + 0x1e5], ax
mov al, byte [esp + 0x3e]
mov byte [ebx + 0x1e7], al
lea eax, [esp + 0x74]
mov dword [ebx + 0x1e8], 0
mov dword [ebx + 0x1f4], 0
mov dword [esp + 0xd0], eax
call fcn.100ff160
test eax, eax
je 0x100e0d27
mov eax, dword [eax]
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0xd0]
mov edx, ebx
test eax, eax
je 0x100e0aa7
push eax
jmp 0x100e0aa9
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x100e0ae4
cmp eax, 1
jne 0x100e0ad2
mov eax, dword [esp + 0x74]
lock dec dword [eax]
jne 0x100e0ae4
lea ecx, [esp + 0x74]
call fcn.10069c70
jmp 0x100e0ae4
mov eax, dword [esp + 0x74]
lock dec dword [eax]
jne 0x100e0ae4
lea ecx, [esp + 0x74]
call fcn.10069d40
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [ebx], ecx
je 0x100de139
mov eax, dword [ebx + 0x14]
push ebx
call dword [eax + 0xc]
add esp, 4
jmp 0x100de139
mov edx, dword [esp + 0x30]
push 0x10419808
jmp 0x100de0f6
mov ecx, str.header_map_at_capacity
mov edx, 0x16
push 0x10419184
call fcn.1004d560
add esp, 4
ud2
mov ecx, esi
push 0x1041979c
jmp 0x100de0f6
push 0x10419818
jmp 0x100de0f6
push 0x104197ac
jmp 0x100de0f6
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x1041a1a4
jmp 0x100e0c24
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push 0x1044a46c
push esi
jmp 0x100e0c98
mov ecx, str.must_be_called_from_the_context_of_Tokio_runtime_configured_with_either__basic_scheduler__or__threaded_scheduler_
mov edx, 0x71
push 0x1041a160
jmp 0x100e0cb3
mov ecx, 0x1f8
jmp 0x100de10c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push 0x1044a46c
push eax
push 0
call fcn.10008e00
add esp, 0xc
ud2
mov ecx, str.overflow_when_adding_duration_to_instant
mov edx, 0x28
push 0x10422f14
call fcn.1000a730
add esp, 4
ud2
ud2
mov al, byte [esp + 0xd1]
mov ecx, str.a_parsed_Url_should_always_be_a_valid_Uri
mov edx, 0x29
mov byte [esp + 0x3c8], al
push 0x104197f8
push 0x104197e8
push esi
jmp 0x100de0ec
lea ecx, [esp + 0x2d8]
call fcn.100544e0
mov al, byte [esp + 0x24]
mov ecx, str.valid_request_parts
mov edx, 0x13
mov byte [esp + 0xd0], bh
mov byte [esp + 0xd1], al
push 0x104198a0
push 0x10419890
lea eax, [esp + 0xd8]
jmp 0x100de0eb
lea eax, [esp + 0x58]
mov ecx, 0x1044ace7
mov edx, 0x46
push 0x1044ad30
push 0x10423110
jmp 0x100de0eb
mov ecx, 7
int 0x29
ud2
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersAdministrator.cargo_registry_srcgithub.com_1ecc6299db9ec823url_2.2.0_srclib.rs__filed
mov edx, 0x2b
push 0x10424d30
call fcn.100082b0
add esp, 4
ud2
mov ecx, 0x1041cd3c
mov edx, 0x30
push 0x1041cd7c
jmp 0x100e0c24
mov ecx, 7
int 0x29
ud2
mov ecx, 0x1042153f
mov edx, 0x5e
push 0x104215a0
jmp 0x100e0cb3