Function at 0x100db8d0
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 0x100db8e4
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 0x100db943
cmp eax, 3
jne 0x100de27f
movzx eax, byte [esi + 0x11c]
lea edi, [esi + 0x11c]
test eax, eax
je 0x100dbad0
cmp eax, 3
jne 0x100de29c
mov eax, dword [esi + 0x118]
lea ebx, [esp + 0x628]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
jmp 0x100de46f
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 0x100dbaef
mov dword [esp + 0x1c], eax
push esi
call fcn.1004fdd0
add esp, 4
mov eax, dword [esp + 0x174]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x100dba67
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 0x100db9ba
cmp ebx, dword [esp + 0x10]
je 0x100dba67
mov esi, ebx
add ebx, 0x44
mov ecx, esi
call fcn.1004fec0
mov edi, dword [esi + 0x2c]
test edi, edi
je 0x100db9b0
mov eax, dword [esi + 0x30]
mov dword [esp + 0x14], ebx
test eax, eax
je 0x100db9f0
shl eax, 3
lea eax, [eax + eax*2]
test eax, eax
je 0x100db9f0
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 0x100dba30
mov ecx, dword [esp + 0xc]
shl eax, 2
lea edi, [eax + eax*2]
mov ebx, dword [ecx + 0x38]
add ebx, 4
jmp 0x100dba18
add ebx, 0xc
add edi, 0xfffffff4
je 0x100dba30
cmp dword [ebx], 0
je 0x100dba10
mov esi, dword [ebx - 4]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x100dba10
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x100db9b0
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x100db9b0
mov esi, dword [ecx + 0x38]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x100db9b0
mov eax, dword [esp + 0x178]
test eax, eax
je 0x100dba8f
mov ecx, eax
shl ecx, 6
lea eax, [ecx + eax*4]
test eax, eax
je 0x100dba8f
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x18]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x180], 0
jne 0x100dc960
mov esi, dword [esp + 0x184]
mov edi, dword [esp + 0x188]
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x100dc960
cmp dword [edi + 8], 9
jae 0x100dc950
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x100dc958
mov edx, dword [esi + 0x110]
lea eax, [esi + 0x110]
lea ecx, [esp + 0x628]
mov dword [esp + 0x2d4], ecx
jmp 0x100de458
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 0x100dc869
mov dword [esp + 0x538], 0x10551ec8
mov eax, dword [0x10551ecc]
cmp eax, 3
jne 0x100de1b7
mov eax, dword [esp + 0x538]
mov dword [esp + 0x50], ebx
mov eax, dword [eax]
mov dword [esp + 0x48], eax
lock inc dword [eax]
jle 0x100e0fbd
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.100f3b90
add esp, 4
mov eax, dword [esp + 0x3c8]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x100dc86e
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3cc]
test edi, edi
mov dword [esp + 0x28], eax
je 0x100dbc4a
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + edi]
jmp 0x100dbbf6
mov ecx, edx
cmp ecx, eax
je 0x100dbc4a
movzx ebx, byte [ecx]
lea edx, [ecx + 1]
test bl, bl
jns 0x100dbbf0
add ecx, 2
cmp bl, 0xe0
jae 0x100dbc0f
cmp edx, eax
cmove ecx, edx
jmp 0x100dbbf2
cmp bl, 0xed
jne 0x100dbc2c
cmp edx, eax
cmove ecx, edx
cmp ecx, eax
je 0x100dbc4a
inc ecx
cmp edx, eax
je 0x100dbbf2
cmp byte [edx], 0x9f
jbe 0x100dbbf2
jmp 0x100de249
cmp edx, eax
mov esi, ecx
cmove esi, edx
lea ecx, [esi + 1]
cmp esi, eax
cmove ecx, esi
cmp bl, 0xf0
jb 0x100dbbf2
lea edx, [ecx + 1]
cmp ecx, eax
cmovne ecx, edx
jmp 0x100dbbf2
mov eax, dword [esp + 0x20]
test edi, edi
je 0x100dca0a
mov eax, dword [esp + 0x2c]
movdqa xmm3, xmmword [0x10364ef0]
movdqa xmm4, xmmword [0x10364f00]
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 0x100dbeef
nop dword [eax + eax]
cmp edx, edi
jb 0x100dbeef
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 0x100dbd50
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
cmp edi, ecx
jb 0x100dbeef
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 0x100dbda0
test edx, edx
je 0x100dbee0
xor ebx, ebx
nop dword [eax + eax]
cmp byte [edi + ebx], al
je 0x100dbe53
inc ebx
cmp edx, ebx
jne 0x100dbd80
jmp 0x100dbee0
mov ecx, edi
neg ecx
and ecx, 3
je 0x100dbdc7
xor ebx, ebx
nop
cmp byte [edi + ebx], al
je 0x100dbe53
inc ebx
cmp ecx, ebx
jne 0x100dbdb0
lea ebx, [edx - 8]
cmp ecx, ebx
jbe 0x100dbdcc
jmp 0x100dbe19
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 0x100dbe11
add ecx, 8
cmp ecx, ebx
jbe 0x100dbde0
cmp ecx, edx
ja 0x100de2b0
cmp edx, ecx
je 0x100dbee0
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 0x100dbe4f
inc edi
cmp ebx, edi
jne 0x100dbe40
jmp 0x100dbee0
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 0x100dbd40
cmp edx, ecx
jb 0x100dbd40
cmp dword [esp + 0x1c], 5
jae 0x100de2bf
mov ebx, ecx
lea eax, [esi + edi]
lea ecx, [esp + 0x3e8]
cmp eax, ecx
mov ecx, ebx
je 0x100dbec8
push dword [esp + 0x1c]
lea ecx, [esp + 0x3ec]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcmp
movdqa xmm4, xmmword [0x10364f00]
movdqa xmm3, xmmword [0x10364ef0]
mov ecx, ebx
add esp, 0xc
test eax, eax
jne 0x100dbd40
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c8], ecx
lea ecx, [esp + 0x538]
jmp 0x100dbf35
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x3d8], eax
cmp byte [esp + 0x3ec], 0
je 0x100dbf10
mov eax, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3cc]
lea ecx, [esp + 0x538]
jmp 0x100dbf2d
mov eax, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3cc]
lea ecx, [esp + 0x538]
cmp edi, eax
je 0x100dca2c
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.10048c00
cmp dword [esp + 0x538], 1
jne 0x100dc070
mov esi, dword [esp + 0x2dc]
mov edi, dword [esp + 0x2e0]
cmp edi, esi
je 0x100dc070
jae 0x100de271
mov eax, dword [esp + 0x2d8]
cmp byte [eax + edi], 0x2f
mov dword [esp + 0x18], eax
jne 0x100dc070
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 0x100dbfd0
xor edx, edx
test dl, 1
jne 0x100dc00a
jmp 0x100dc029
jae 0x100de26a
mov edx, dword [esp + 0x18]
movzx ebx, byte [edx + edi]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jae 0x100dc000
inc edi
mov dl, 1
mov bl, bh
test dl, 1
jne 0x100dc00a
jmp 0x100dc029
add bl, 0xc9
xor edx, edx
test dl, 1
je 0x100dc029
cmp eax, 1
ja 0x100dc01e
lea edx, [ecx + ecx*4]
movzx ebx, bl
inc eax
lea edx, [ebx + edx*2]
cmp edx, 0x21
jb 0x100dbfc0
mov dword [esp + 0x2e0], edi
xor ebx, ebx
jmp 0x100dc032
xor ebx, ebx
test eax, eax
setne bl
jne 0x100dc036
mov edi, dword [esp + 0x1c]
test ebx, ebx
mov dword [esp + 0x2e0], edi
je 0x100dc070
cmp cl, 0x21
jae 0x100de377
mov eax, dword [esp + 0x53c]
movzx ebx, cl
mov dword [esp + 0x18], 0
jmp 0x100dc6b1
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.100488a0
add esp, 4
cmp eax, 8
jne 0x100dc1c0
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 0x100dc232
jae 0x100de271
mov eax, dword [esp + 0x2d8]
cmp byte [eax + edi], 0x2f
mov dword [esp + 0x18], eax
jne 0x100dc232
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 0x100dc150
xor ecx, ecx
test cl, 1
jne 0x100dc18e
jmp 0x100dc612
jae 0x100de26a
mov ecx, dword [esp + 0x18]
movzx ebx, byte [ecx + edi]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
jae 0x100dc180
inc edi
mov cl, 1
mov bl, bh
test cl, 1
jne 0x100dc18e
jmp 0x100dc612
add bl, 0xc9
xor ecx, ecx
test cl, 1
je 0x100dc612
cmp eax, 2
ja 0x100dc1a5
lea ecx, [edx + edx*4]
movzx ebx, bl
inc eax
lea ecx, [ebx + ecx*2]
cmp ecx, 0x81
jb 0x100dc130
mov ecx, edx
mov dword [esp + 0x2e0], edi
xor ebx, ebx
lea edx, [esp + 0x4e0]
jmp 0x100dc624
test dl, 1
lea edx, [esp + 0x4e0]
jne 0x100dc220
mov edx, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2e0]
cmp ecx, edx
je 0x100dc210
jae 0x100de275
mov esi, dword [esp + 0x2d8]
cmp byte [esi + ecx], 0x3a
jne 0x100dc210
mov ebx, eax
lea eax, [ecx + 1]
cmp eax, edx
mov dword [esp + 0x2e0], eax
jne 0x100dc79a
mov eax, edx
jmp 0x100dc212
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.100fd200
cmp dword [esp + 0x538], 1
jne 0x100dc2b0
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 0x100dc305
mov ecx, ebx
mov edx, esi
call fcn.100fd630
cmp byte [esp + 0x538], 1
jne 0x100dc34d
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 0x100dc3b0
cmp dword [esp + 0x14], 0
js 0x100de263
je 0x100dc470
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 0x100de2d7
mov ecx, esi
mov edx, ebx
mov dword [esp + 0x538], eax
mov dword [esp + 0x53c], ebx
mov dword [esp + 0x540], 0
call fcn.10116f60
jmp 0x100dc49e
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.1004f3c0
movdqa xmm3, xmmword [0x10364ef0]
movdqa xmm4, xmmword [0x10364f00]
jmp 0x100dc5d7
mov ecx, ebx
xor edx, edx
mov dword [esp + 0x538], 1
mov dword [esp + 0x53c], 0
mov dword [esp + 0x540], 0
call fcn.10116f60
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 0x100dc550
inc eax
je 0x100de263
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 0x100de263
test esi, esi
js 0x100de263
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 0x100dc570
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x100dc570
call sub.KERNEL32.dll_GetProcessHeap
push esi
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dc582
mov esi, dword [esp + 0x30]
movdqa xmm3, xmmword [0x10364ef0]
movdqa xmm4, xmmword [0x10364f00]
jmp 0x100dc5ae
test esi, esi
je 0x100dc584
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
movdqa xmm3, xmmword [0x10364ef0]
movdqa xmm4, xmmword [0x10364f00]
test ecx, ecx
je 0x100de2e5
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 0x100dca30
mov esi, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov edi, dword [esp + 0x3dc]
cmp edi, ecx
jae 0x100dbd10
jmp 0x100dbeef
xor ebx, ebx
test eax, eax
mov ecx, edx
lea edx, [esp + 0x4e0]
setne bl
jne 0x100dc628
mov edi, dword [esp + 0x1c]
test ebx, ebx
mov dword [esp + 0x2e0], edi
je 0x100dc22b
mov edx, ecx
cmp dl, 0x81
jae 0x100de38c
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 0x100dc783
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.1004f3c0
mov eax, dword [esp + 0x20]
movdqa xmm3, xmmword [0x10364ef0]
movdqa xmm4, xmmword [0x10364f00]
cmp byte [esp + 0x3ed], 0
je 0x100dc5e9
jmp 0x100dca30
mov edi, dword [esp + 0xc]
lea ebx, [esp + 0x538]
lea edx, [esp + 0x4e0]
jmp 0x100dc241
jae 0x100de3a6
cmp byte [esi + eax], 0x3a
jne 0x100dc212
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.100488a0
add esp, 4
mov ecx, 8
mov edi, eax
cmp ecx, ebx
jb 0x100de3ad
cmp edi, 9
jae 0x100de3be
lea eax, [edi + ebx]
cmp eax, 9
jae 0x100de3cf
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 0x100dc0b9
jmp 0x100dcbac
mov dword [esp + 0x538], 0
mov esi, dword [esp + 0x538]
lea ecx, [esp + 0x3c8]
mov edx, 0x103981ac
push 8
call fcn.100f3b90
add esp, 4
mov eax, dword [esp + 0x3c8]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x100dc9a5
mov edi, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3cc]
xor ecx, ecx
test edi, edi
mov dword [esp + 0xc], eax
je 0x100dc9b6
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
lea eax, [ecx + edi]
jmp 0x100dc8ea
mov ecx, edx
cmp ecx, eax
je 0x100dc9b4
movzx ebx, byte [ecx]
lea edx, [ecx + 1]
test bl, bl
jns 0x100dc8e0
cmp bl, 0xe0
jae 0x100dc903
add ecx, 2
cmp edx, eax
cmove ecx, edx
jmp 0x100dc8e2
cmp bl, 0xed
jne 0x100dc927
add ecx, 2
cmp edx, eax
cmove ecx, edx
cmp ecx, eax
je 0x100dc9b4
inc ecx
cmp edx, eax
je 0x100dc8e2
cmp byte [edx], 0x9f
jbe 0x100dc8e2
jmp 0x100de259
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 0x100dc948
lea edx, [ecx + 1]
cmp ecx, eax
cmovne ecx, edx
mov edi, esi
mov esi, dword [esp + 0x14]
jmp 0x100dc8e2
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 0x100dc98f
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 0x100dc980
test dword [esp + 0x190], 0x3fffffff
jne 0x100de102
jmp 0x100de110
mov ecx, 1
mov dword [esp + 0x2c], 0
jmp 0x100dc9b6
xor ecx, ecx
mov eax, dword [esp + 0x20]
test esi, esi
je 0x100dc9db
cmp dword [esp + 0x28], 0
je 0x100dc9db
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 0x100dc9fa
xor ebx, ebx
cmp dword [esp + 0x2c], 0
je 0x100de1f2
cmp dword [esp + 0xc], 0
mov esi, 0
jne 0x100dca11
jmp 0x100dca5f
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
test edi, edi
jne 0x100dbc56
cmp dword [esp + 0x28], 0
je 0x100dca26
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 0x100dca5f
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 0x100dca5f
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 0x100dcad9
inc ecx
je 0x100de263
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 0x100de263
test esi, esi
js 0x100de263
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 0x100dcae5
mov edi, eax
mov eax, edx
shl eax, 6
lea eax, [eax + edx*4]
test eax, eax
je 0x100dcae5
call sub.KERNEL32.dll_GetProcessHeap
push esi
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dcaf7
mov edi, dword [esp + 0x50]
mov edx, ecx
mov ecx, eax
mov esi, eax
jmp 0x100dcb17
test esi, esi
je 0x100dcaf9
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test ecx, ecx
je 0x100de2e5
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 0x100de2ec
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 0x100de2f6
call sub.KERNEL32.dll_GetProcessHeap
push 0x80
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de359
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 0x100dcdd0
shl ebx, 2
xor esi, esi
mov edi, 4
xor eax, eax
jmp 0x100dcd27
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 0x100dcdd9
mov ecx, dword [esp + 0x10]
cmp eax, esi
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0xc], ecx
jne 0x100dcd10
mov dword [esp + 0x18], eax
mov eax, esi
inc eax
je 0x100de263
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 0x100de263
test eax, eax
js 0x100de263
mov cl, dl
mov dword [esp + 0x14], eax
shl ecx, 2
test esi, esi
cmove edi, esi
test edi, edi
je 0x100dcda0
lea edx, [esi*4]
test edx, edx
je 0x100dcda0
call sub.KERNEL32.dll_GetProcessHeap
push dword [esp + 0x14]
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100dcdb4
test eax, eax
je 0x100dcdb6
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 0x100de293
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, ecx
shr edx, 2
jmp 0x100dcd14
xor edx, edx
mov edi, 4
xor eax, eax
mov cl, byte [esp + 0x1c]
xor cl, 1
test dword [esp + 0x30], 0x3fffffff
je 0x100dce0b
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 0x100e0fbd
mov eax, dword [0x103981dc]
movq xmm0, qword [0x103981d4]
movq xmm1, qword [0x103981cc]
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.1004f4c0
add esp, 4
xor esi, esi
cmp dword [esp + 0x3c8], 1
jne 0x100dcef1
mov ecx, dword [esp + 0x3d0]
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jbe 0x100de363
mov eax, dword [esp + 0xf0]
imul ecx, ecx, 0x38
lea esi, [eax + ecx + 0x14]
cmp byte [esp + 0x538], 0
je 0x100dcf1e
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 0x100dcf72
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 0x100dcf7a
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.1004b2b0
cmp dword [esp + 0x538], 1
jne 0x100dd0ed
mov byte [esp + 0x30], bl
mov ebx, dword [esp + 0x53c]
xor eax, eax
cmp bl, 3
je 0x100dd036
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 0x100de3e4
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 0x100de418
mov dword [eax], ebx
mov dword [eax + 4], 0x103981f0
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 0x100dd11e
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 0x100dd179
cmp byte [esp + 0x240], 2
jne 0x100dd24a
lock dec dword [edi]
jne 0x100dd276
lea ecx, [esp + 0x378]
call fcn.1004fc60
cmp dword [esp + 0x628], 0
jne 0x100dd280
jmp 0x100dd28c
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 0x100dd2f3
cmp bl, 2
mov ebx, 0
je 0x100dd32a
mov esi, 1
xor ebx, ebx
jmp 0x100dd32a
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 0x100dd15a
cmp dword [esp + 0x628], 0
je 0x100dd28c
push dword [esp + 0x62c]
call sub.CRYPT32.dll_CertFreeCertificateContext
mov edi, dword [esp + 0x638]
mov esi, dword [esp + 0x630]
test edi, edi
je 0x100dd2bf
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 0x100dd2b0
test dword [esp + 0x634], 0x3fffffff
je 0x100dd2da
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 0x100dd2ee
call fcn.1004fdb0
jmp 0x100dd491
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.1004f9a0
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.1004f9a0
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 0x100dd442
push dword [esp + 0x62c]
call sub.CRYPT32.dll_CertFreeCertificateContext
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x630]
test esi, esi
je 0x100dd46f
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 0x100dd460
test dword [esp + 0x14], 0x3fffffff
je 0x100dd487
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 0x100dd57c
mov eax, dword [esp + 0x368]
lock dec dword [eax]
jne 0x100dd51e
lea ecx, [esp + 0x368]
call fcn.1004fc60
lea eax, [esp + 0xd0]
push eax
call fcn.1004fdd0
add esp, 4
cmp dword [esp + 0x180], 0
jne 0x100de09b
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 0x100de09b
mov esi, dword [esp + 0x184]
cmp dword [eax + 8], 9
jae 0x100de08b
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x100de093
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 0x100dd71a
mov byte [esp + 0x27e], 1
mov al, byte [esp + 0x1c5]
cmp al, 2
jne 0x100dd751
cmp dword [esp + 0x198], 1
jne 0x100dd765
mov eax, dword [esp + 0x19c]
mov byte [esp + 0x274], 0
mov dword [esp + 0x26c], eax
cmp dword [esp + 0x1a0], 1
je 0x100dd76f
jmp 0x100dd785
test al, al
setne byte [esp + 0x278]
cmp dword [esp + 0x198], 1
je 0x100dd72f
cmp dword [esp + 0x1a0], 1
jne 0x100dd785
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.1004f9a0
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 0x100dd84e
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 0x100dd8a5
lock inc dword [eax]
jle 0x100e0fbd
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], ecx
jmp 0x100dd8b5
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 0x100ddbc7
mov byte [esp + 0xc], dl
call fcn.100fef20
test eax, eax
je 0x100de41f
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.100fef20
test eax, eax
je 0x100de41f
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.100fef20
test eax, eax
je 0x100de41f
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 0x100de3d6
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 0x100de3dd
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], 0x1037f350
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], 0x1037f350
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], 0x1037f350
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 0x100ddc7c
mov eax, dword [eax + 8]
mov edx, ecx
shl edx, 6
lea ecx, [edx + ecx*4]
add eax, 0x18
jmp 0x100ddc5d
cmp edx, 4
je 0x100ddc84
add eax, 0x44
add ecx, 0xffffffbc
je 0x100ddc7c
mov edx, dword [eax - 0x18]
mov bl, 1
mov dword [esp + 0xc], ebx
test edx, edx
je 0x100ddc6f
cmp edx, 1
jne 0x100ddc50
cmp dword [eax - 0x14], 0
jne 0x100ddc55
cmp byte [eax], 2
je 0x100ddc55
jmp 0x100ddc84
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 0x100de36d
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 0x100ddf92
lock dec dword [eax]
jne 0x100ddf92
lea ecx, [esp + 0x250]
call fcn.10116ed0
mov edi, dword [esp + 0x1bc]
test edi, edi
je 0x100de007
mov eax, dword [edi]
test eax, eax
je 0x100ddfd5
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x100ddfd5
mov ebx, dword [edi]
cmp dword [eax + 8], 9
jae 0x100ddfc5
call sub.KERNEL32.dll_GetProcessHeap
push ebx
jmp 0x100ddfcd
call sub.KERNEL32.dll_GetProcessHeap
push dword [ebx - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 0x3c], 2
je 0x100ddff2
cmp dword [edi + 0xc], 0
je 0x100ddff2
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.100db690
cmp eax, 1
jne 0x100de07a
mov eax, dword [0x10551ebc]
mov edi, edx
test eax, eax
je 0x100de035
mov eax, dword [0x10551ec0]
add esi, 0x108
test edi, edi
je 0x100de232
mov eax, dword [edi]
test eax, eax
je 0x100de207
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x100de207
mov ebx, dword [edi]
cmp dword [eax + 8], 9
jae 0x100de1f7
call sub.KERNEL32.dll_GetProcessHeap
push ebx
jmp 0x100de1ff
mov eax, dword [esi + 0x104]
mov dword [esi + 0x10c], eax
jmp 0x100de439
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 0x100de110
mov eax, dword [esi]
test eax, eax
je 0x100de0de
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x100de0de
mov edi, dword [esi]
cmp dword [eax + 8], 9
jae 0x100de0ce
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x100de0d6
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esi + 0x3c], 2
je 0x100de0fb
cmp dword [esi + 0xc], 0
je 0x100de0fb
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.100db690
cmp eax, 1
jne 0x100de19f
mov eax, dword [0x10551ebc]
mov esi, edx
test eax, eax
je 0x100de138
mov eax, dword [0x10551ec0]
test esi, esi
je 0x100de19f
mov eax, dword [esi]
test eax, eax
je 0x100de174
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x100de174
mov edi, dword [esi]
cmp dword [eax + 8], 9
jae 0x100de164
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x100de16c
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [esi + 0x3c], 2
je 0x100de191
cmp dword [esi + 0xc], 0
je 0x100de191
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.100e1f60
mov bl, 1
xor eax, eax
jmp 0x100dfb5e
lea eax, [esp + 0x538]
lea ecx, [esp + 0x628]
lea edx, [esp + 0x3c8]
mov dword [esp + 0x3c8], ecx
mov dword [esp + 0x628], eax
lea ecx, [0x10551ecc]
push 0x10398190
call fcn.100fb770
add esp, 4
jmp 0x100dbb33
jmp 0x100dca28
call sub.KERNEL32.dll_GetProcessHeap
push dword [ebx - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 0x3c], 2
je 0x100de224
cmp dword [edi + 0xc], 0
je 0x100de224
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 0x100de19f
mov ecx, esi
call fcn.100d80a0
jmp 0x100de19f
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x538], eax
jmp 0x100dc879
mov ecx, 1
jmp 0x100dc9b6
call fcn.100067e0
ud2
mov dword [esp + 0x2e0], edi
mov ecx, edi
mov edx, esi
push 0x10396f2c
jmp 0x100de3f6
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1039f6bc
jmp 0x100e105c
mov ecx, dword [esp + 0x14]
jmp 0x100de400
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1039f684
jmp 0x100e105c
push 0x103670cc
call fcn.10009b70
add esp, 4
ud2
mov ecx, dword [esp + 0x1c]
mov edx, 4
push 0x103c9070
call fcn.10008b80
add esp, 4
ud2
mov ecx, ebx
mov edx, 1
call fcn.100067d0
ud2
mov ecx, esi
jmp 0x100de400
mov ecx, 0x14
jmp 0x100de400
lea eax, [esp + 0x628]
lea ecx, [esp + 0x3c8]
mov edx, 0x103981bc
mov dword [esp + 0x628], 0x103981b4
mov dword [esp + str.internal_error:_entered_unreachable_code:], 0x103c9db0
mov dword [esp + 0x3cc], 1
mov dword [esp + 0x3d0], 0
mov dword [esp + 0x62c], 0x100093b0
mov dword [esp + 0x3d8], eax
mov dword [esp + 0x3dc], 1
call fcn.100f94f0
ud2
mov ecx, 0x80
jmp 0x100de40c
push 0x103981e0
jmp 0x100de3f6
mov ecx, 0x100
jmp 0x100de40c
lea eax, [esp + 0x58]
mov ecx, 0x103c93eb
mov edx, 0x2b
push 0x10397060
jmp 0x100de39f
lea eax, [esp + 0x58]
mov ecx, 0x103c93eb
mov edx, 0x2b
push 0x10396f5c
push 0x10396f0c
jmp 0x100de3eb
mov ecx, eax
jmp 0x100de275
mov ecx, ebx
mov edx, 8
push 0x10396f3c
jmp 0x100de2cd
mov ecx, edi
mov edx, 8
push 0x10396f4c
jmp 0x100de2cd
call fcn.10048b00
ud2
mov ecx, 4
jmp 0x100de400
mov ecx, 0x90
jmp 0x100de40c
mov ecx, 8
jmp 0x100de400
push eax
call fcn.1000aa20
add esp, 0xc
ud2
call fcn.10008590
add esp, 4
ud2
mov edx, 4
call fcn.100067d0
ud2
mov edx, 8
call fcn.100067d0
ud2
mov ecx, 0x54
jmp 0x100de400
lea eax, [esp + 0x58]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x10398218
jmp 0x100de3eb
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.10103fe0
test eax, eax
je 0x100de41f
movzx ecx, byte [eax]
mov dl, byte [eax + 1]
mov dword [esp + 0x10], ecx
test cx, cx
mov ecx, edx
je 0x100de495
test dl, dl
je 0x100dfb3f
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.100d85a0
add esp, 4
mov ebx, dword [esp + 0x110]
mov eax, ebx
and al, 3
cmp al, 2
je 0x100de57f
cmp bl, 3
jne 0x100de5a5
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 0x100de67b
test eax, eax
jne 0x100de688
mov eax, dword [ecx + 4]
push dword [ecx]
call dword [eax]
add esp, 4
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x100de541
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 0x100de688
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x1c], 0
test ecx, ecx
je 0x100e104d
xor edx, edx
xchg dword [ebx + 0x14], edx
push eax
call dword [ecx + 4]
add esp, 4
jmp 0x100de688
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
cmp eax, 2
jb 0x100de718
mov ecx, 0x1039bacc
mov edx, 0x30
push 0x1039bafc
jmp 0x100e0f24
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 0x100e1044
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 0x100de723
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.100d85a0
add esp, 4
mov ebx, dword [esp + 0x110]
mov eax, ebx
and al, 3
cmp al, 2
je 0x100de706
cmp bl, 3
jne 0x100df9f1
cmp byte [edi + 0x30], 0
je 0x100dfac7
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 0x100de723
cmp byte [esp + 0x10], 0
jne 0x100dfae1
jmp 0x100de723
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
cmp eax, 2
jae 0x100e1066
mov edi, dword [esp + 0x18]
xor esi, esi
mov ebx, 2
mov eax, ebx
xor eax, 3
or eax, esi
je 0x100dfb53
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 0x100dfb05
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 0x100dea61
cmp dword [esp + 0x44], esi
jbe 0x100e0f5f
mov ecx, dword [esp + 0x34]
cmp byte [ecx + esi], 0xbf
jle 0x100e0f5f
cmp esi, 4
lea ebx, [esp + 0xd0]
mov dword [esp + 0x6c], esi
jne 0x100dea8f
cmp dword [esp + 0x34], 0x103c920f
je 0x100dec6b
mov ecx, dword [esp + 0x34]
cmp dword [ecx], 0x70747468
je 0x100dec6b
test al, al
mov eax, dword [esp + 0x6c]
jne 0x100deaaf
cmp dword [esp + 0x44], eax
jbe 0x100e0f8a
mov ecx, dword [esp + 0x34]
cmp byte [ecx + eax], 0xbf
jle 0x100e0f8a
cmp eax, 5
jne 0x100deadc
cmp dword [esp + 0x34], 0x103c9d4f
je 0x100dec6b
mov ecx, dword [esp + 0x34]
mov eax, 0x70747468
xor eax, dword [ecx]
movzx ecx, byte [ecx + 4]
xor ecx, 0x73
or ecx, eax
je 0x100dec6b
movsd xmm2, qword [esp + 0x508]
movsd xmm1, qword [esp + 0x500]
movsd xmm0, qword [esp + 0x510]
mov ecx, 0x10397e13
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.1004c900
mov esi, eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x54
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100de418
mov dword [eax], esi
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0xbc]
mov ecx, eax
mov dword [eax + 4], 0x10397e2c
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 0x100dec2e
lea ecx, [esp + 0x4a0]
call fcn.100547a0
lea eax, [esp + 0x1d0]
push eax
call fcn.1004fdd0
add esp, 4
cmp byte [esp + 0x58], 0xa
jb 0x100dec5e
cmp dword [esp + 0x60], 0
je 0x100dec5e
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 0x100e0589
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 0x100df6bd
jmp 0x100df630
xor edi, edi
mov dword [esp + 0x40], 2
test edi, edi
je 0x100df70c
lea ecx, [esp + 0x1d0]
call fcn.1004e220
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], esi
xor eax, 2
or eax, dword [esp + 0x1d4]
jne 0x100dedf0
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 0x100dee50
mov ecx, ebx
lea edx, [esp + 0x628]
mov dword [esp + 0x628], 1
push 4
call fcn.10018260
add esp, 4
mov edx, dword [edi + 4]
mov ecx, ebx
push dword [edi + 8]
jmp 0x100dee81
cmp byte [edi], 1
jne 0x100df0b0
mov esi, dword [edi + 8]
test esi, esi
je 0x100df0c1
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 0x100dee20
jmp 0x100df0d0
lea esi, [esp + 0x628]
mov ecx, ebx
mov dword [esp + 0x628], 0
mov edx, esi
push 4
call fcn.10018260
add esp, 4
movzx eax, byte [edi + 1]
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x628], eax
push 4
call fcn.10018260
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 0x100df0d0
movzx eax, byte [edi + 1]
xor eax, 0x13f5
imul eax, eax, 0xffffbc91
jmp 0x100df0d0
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 0x100df14b
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
movzx eax, byte [ecx + eax + 1]
cmp al, byte [edx + 1]
je 0x100df607
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 0x100df14b
movzx eax, word [edx + ecx*4]
mov dword [esp + 0x14], ecx
cmp eax, 0xffff
je 0x100df210
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 0x100df210
cmp ax, word [esp + 0xc]
jne 0x100df140
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
jbe 0x100e0f07
imul eax, ecx, 0x38
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
movzx ecx, byte [ecx + eax]
cmp cl, byte [edx]
jne 0x100df140
test cl, cl
je 0x100df11c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [ecx + eax + 8]
cmp ebx, dword [edx + 8]
jne 0x100df140
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 0x100df200
push ebx
push edx
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100df140
mov dword [esp + 0x10], 0
jmp 0x100df618
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 0x100df290
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 0x100df299
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 0x100df570
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 0x100e0f15
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 0x100df499
lea ecx, [esp + 0x1f0]
mov edx, 1
call fcn.1004ea00
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 0x100df530
movzx edi, word [eax + ebx*4]
cmp di, 0xffff
je 0x100df5b0
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 0x100df530
mov ecx, dword [esp + 0x330]
mov edi, dword [esp + 0x28]
test al, al
sete al
or cl, al
jne 0x100df6ae
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 0x100df6ae
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 0x100df690
mov eax, dword [esp + 0x1d4]
or eax, dword [esp + 0x1d0]
jne 0x100df690
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 1
jmp 0x100df690
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 0x100df2df
mov edx, dword [edi + 0x30]
cmp edx, esi
jbe 0x100e0f2e
mov eax, dword [edi + 0x28]
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x50]
je 0x100df680
mov edx, dword [edi + 0x3c]
cmp edx, ecx
jbe 0x100e0f44
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 0x100df6f2
mov ecx, esi
jmp 0x100df6ce
mov edx, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
lea ebx, [esp + 0xd0]
cmp edx, ecx
jbe 0x100e0f3a
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x40], 2
jne 0x100df630
lea ecx, [esi + 1]
cmp ecx, dword [edi + 0x30]
jae 0x100decb0
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 0x100decc2
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x3c8]
mov ecx, esi
push dword [esp + 0x44]
call fcn.10007c50
add esp, 4
lea ecx, [esp + 0xd0]
mov edx, esi
call fcn.100355a0
cmp byte [esp + 0xd0], 1
je 0x100e0fc1
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 0x100df7e9
mov dword [esp + 0x14], 0x10397ea4
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 0x100df8e5
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 0x100df895
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 0x100dfdbd
mov al, byte [esp + 0x78]
test al, al
je 0x100dfdbd
cmp al, 1
je 0x100df936
test al, al
jne 0x100dfdbd
mov ecx, 0x1037fbf8
call fcn.10032c50
ud2
cmp byte [esp + 0x79], 1
je 0x100dfdbd
mov eax, dword [0x103985d0]
movq xmm0, qword [0x103985c8]
movq xmm1, qword [0x103985c0]
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.1004f4c0
add esp, 4
mov edi, dword [esp + 0xd0]
cmp byte [esp + 0x628], 0
je 0x100df9c1
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 0x100dfdbd
mov ecx, dword [eax + 0xf4]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x100dfdbd
mov ebx, dword [ecx + 8]
mov ecx, eax
shl ecx, 6
lea edi, [ecx + eax*4]
add ebx, 0x10
jmp 0x100dfbfd
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 0x100e107a
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 0x100de723
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
xor esi, esi
mov ebx, 3
cmp byte [esp + 0x10], 0
je 0x100de723
mov dword [esp + 0x28], eax
call fcn.10103fe0
test eax, eax
je 0x100e1027
movzx ecx, byte [esp + 0x28]
shl ecx, 8
or ecx, 1
mov word [eax], cx
jmp 0x100de723
mov eax, dword [0x10551ebc]
mov esi, dword [esp + 0x4c]
cmp eax, 5
jb 0x100dfba4
mov eax, dword [0x10411900]
test eax, eax
jne 0x100dfb2a
mov ecx, 0x10411900
call fcn.100f2930
push eax
call sub.KERNEL32.dll_TlsGetValue
cmp eax, 2
jb 0x100dfb6c
cmp dword [eax], 1
jne 0x100dfb6c
add eax, 4
jmp 0x100dfb79
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.100f2a80
test eax, eax
je 0x100e1083
mov ecx, eax
call fcn.100f2b50
mov dword [esp + 0xd0], eax
mov eax, dword [0x10551ec0]
mov eax, dword [esp + 0xd0]
lock dec dword [eax]
jne 0x100dfba4
lea ecx, [esp + 0xd0]
call fcn.100f2f00
lea ecx, [esi + 0x10c]
call fcn.100e1f60
mov eax, dword [esi + 0x108]
mov bl, 1
lock dec dword [eax]
jne 0x100de1b0
lea ecx, [esi + 0x108]
call fcn.100d80a0
jmp 0x100de1b0
mov eax, dword [ebx - 0x10]
mov eax, dword [eax*4 + 0x100e1098]
add eax, dword [esp + 0x618]
jmp eax
movsd xmm0, qword [0x1039ef4c]
mov eax, dword [0x1039ef5c]
lea edi, [esp + 0x230]
lea edx, [esp + 0x58]
mov ecx, edi
movsd qword [esp + 0xd6], xmm0
movsd xmm0, qword [0x1039ef54]
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], 0x10397ea4
mov dword [esp + 0x144], 0x1039e90c
mov dword [esp + 0x148], 1
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0x10397ea4
mov word [esp + 0x154], 0xffff
mov dword [esp + 0x158], 0
mov byte [esp + 0x15c], 2
call fcn.10055270
lea esi, [esp + 0x3c8]
lea ebx, [esp + 0xd0]
mov ecx, esi
mov edx, ebx
push edi
call fcn.10055410
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.100558f0
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 0x100e0fe9
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 0x100e015f
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x24], 0
xor eax, 1
or eax, dword [ebx + 0xd4]
jne 0x100e01a9
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.100fe340
add eax, dword [esp + 0xb0]
adc edx, dword [esp + 0xb4]
jb 0x100e0fa4
add edi, ecx
cmp edi, 0x3b9aca00
jb 0x100e0194
add eax, 1
adc edx, 0
jb 0x100e0fa4
add edi, 0xc4653600
mov ecx, eax
push 0
push 0
push 0
push edi
call fcn.10108890
add esp, 0x10
mov dword [esp + 0x24], eax
lea edi, [esp + 0xd0]
lea edx, [esp + 0x1d0]
mov ecx, edi
call fcn.10055be0
push esi
call fcn.1004fdd0
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.100560d0
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 0x100e0fbd
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.101079c0
cmp eax, 3
je 0x100e0f6f
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 0x100e0a88
cmp ebx, 2
jne 0x100e0f4e
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 0x100e0f80
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], 0x1039f694
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.10108610
add esp, 4
mov esi, dword [esp + 0x4c]
jmp 0x100e0dd2
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 0x100e0f80
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], 0x1039f6a8
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.100ff440
test eax, eax
je 0x100e1027
mov eax, dword [eax]
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0xd0]
mov edx, ebx
test eax, eax
je 0x100e0da7
push eax
jmp 0x100e0da9
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x100e0de4
cmp eax, 1
jne 0x100e0dd2
mov eax, dword [esp + 0x74]
lock dec dword [eax]
jne 0x100e0de4
lea ecx, [esp + 0x74]
call fcn.10069f30
jmp 0x100e0de4
mov eax, dword [esp + 0x74]
lock dec dword [eax]
jne 0x100e0de4
lea ecx, [esp + 0x74]
call fcn.1006a000
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [ebx], ecx
je 0x100de439
mov eax, dword [ebx + 0x14]
push ebx
call dword [eax + 0xc]
add esp, 4
jmp 0x100de439
mov edx, dword [esp + 0x30]
push 0x10398598
jmp 0x100de3f6
mov ecx, str.header_map_at_capacity
mov edx, 0x16
push 0x10397f14
call fcn.1004d820
add esp, 4
ud2
mov ecx, esi
push 0x1039852c
jmp 0x100de3f6
push 0x103985a8
jmp 0x100de3f6
push 0x1039853c
jmp 0x100de3f6
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x10398f34
jmp 0x100e0f24
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push 0x103c91fc
push esi
jmp 0x100e0f98
mov ecx, str.must_be_called_from_the_context_of_Tokio_runtime_configured_with_either__basic_scheduler__or__threaded_scheduler_
mov edx, 0x71
push 0x10398ef0
jmp 0x100e0fb3
mov ecx, 0x1f8
jmp 0x100de40c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push 0x103c91fc
push eax
push 0
call fcn.10009090
add esp, 0xc
ud2
mov ecx, str.overflow_when_adding_duration_to_instant
mov edx, 0x28
push 0x103a1ca4
call fcn.1000a9c0
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 0x10398588
push 0x10398578
push esi
jmp 0x100de3ec
lea ecx, [esp + 0x2d8]
call fcn.100547a0
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 0x10398630
push 0x10398620
lea eax, [esp + 0xd8]
jmp 0x100de3eb
lea eax, [esp + 0x58]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x103a1ea0
jmp 0x100de3eb
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__file
mov edx, 0x2b
push 0x103a3ac0
call fcn.10008540
add esp, 4
ud2
mov ecx, 0x1039bacc
mov edx, 0x30
push 0x1039bb0c
jmp 0x100e0f24
mov ecx, 7
int 0x29
ud2
mov ecx, 0x103a02cf
mov edx, 0x5e
push 0x103a0330
jmp 0x100e0fb3