Function at 0x40be40
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov esi, esp
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 8]
mov dword [esi + 0x40], ecx
mov ecx, dword [edx + 4]
add ecx, dword [edx]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], 0xffffffff
mov ecx, dword [eax + 8]
mov dword [esi + 0x4c], ecx
mov ecx, dword [eax + 4]
add ecx, dword [eax]
mov dword [esi + 0x50], ecx
mov ecx, dword [ebp + 0x14]
sub ecx, dword [eax + 0xc]
mov dword [esi + 0x54], ecx
xor eax, eax
mov dword [esi + 0x2c], 0
jmp 0x40be9d
mov eax, dword [esi + 0x3c]
inc eax
cmp eax, 2
je 0x40d438
mov dword [esi + 0x3c], eax
lea eax, [eax + eax*2]
mov edi, dword [esi + eax*4 + 0x40]
mov ecx, dword [esi + eax*4 + 0x44]
mov dword [esi + 0x20], ecx
mov dword [esi + 0xc], edi
mov eax, dword [esi + eax*4 + 0x48]
mov dword [esi + 0x38], eax
cmp byte [0x443095], 1
jne 0x40bed0
cmp byte [0x443094], 0
mov ebx, dword [esi + 0x20]
jne 0x40bef2
jmp 0x40bf11
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
mov ebx, dword [esi + 0x20]
je 0x40bf11
push 2
call dword [0x441e8c]
add esp, 4
push 0
push ebx
push str.parseFDEInstructions_instructions0x_0llx__n
push eax
call fcn.0040acd0
add esp, 0x10
mov edi, dword [esi + 0xc]
cmp edi, ebx
jae 0x40be90
cmp dword [esi + 0x38], 0
je 0x40be90
mov edx, ebx
mov dword [esi + 0x24], 0
nop dword [eax]
movzx ebx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 0xc], eax
cmp ebx, 0x2f
ja case.0x40bf42.23
jmp dword [ebx*4 + 0x40d664]
cmp byte [0x443095], 1
jne 0x40cc9a
cmp byte [0x443094], 0
jne 0x40ccbd
jmp 0x40d419
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0xc]
mov ecx, dword [ebp + 8]
push 0
push eax
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040d960
mov dword [esi + 0x24], eax
cmp byte [0x443095], 1
jne 0x40ccd2
cmp byte [0x443094], 0
jne 0x40ccf5
jmp 0x40d419
movzx eax, byte [edi + 1]
mov ecx, dword [ebp + 0x10]
imul eax, dword [ecx + 0x14]
add dword [esi + 0x24], eax
add edi, 2
mov dword [esi + 0xc], edi
cmp byte [0x443095], 1
jne 0x40cd0a
cmp byte [0x443094], 0
jne 0x40cd2d
jmp 0x40d419
movzx eax, word [edi + 1]
mov ecx, dword [ebp + 0x10]
imul eax, dword [ecx + 0x14]
add dword [esi + 0x24], eax
add edi, 3
mov dword [esi + 0xc], edi
cmp byte [0x443095], 1
jne 0x40cd47
cmp byte [0x443094], 0
jne 0x40cd6a
jmp 0x40d419
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
imul eax, dword [edi + 1]
add dword [esi + 0x24], eax
add edi, 5
mov dword [esi + 0xc], edi
cmp byte [0x443095], 1
jne 0x40cd84
cmp byte [0x443094], 0
jne 0x40cda7
jmp 0x40d419
push edx
lea edi, [esi + 0xc]
push edi
mov ebx, edx
call fcn.0040db90
add esp, 8
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], edx
push ebx
push edi
call fcn.0040db90
add esp, 8
mov ecx, eax
mov edi, edx
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, ecx
mul ebx
mov dword [esi + 0x18], eax
cmp dword [esi + 0x14], 9
mov eax, dword [esi + 0x10]
sbb eax, 0
jae 0x40d43f
imul edi, ebx
sar ebx, 0x1f
imul ecx, ebx
add edx, edi
add edx, ecx
mov edi, dword [esi + 0x14]
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x40c0b9
add eax, ecx
add eax, 0x1c
mov ecx, edi
shl ecx, 4
mov ebx, edx
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
mov edx, ebx
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 2
mov dword [esi + 0x1c], edx
mov dword [ecx + eax + 0x24], edx
mov ebx, dword [esi + 0x18]
mov dword [ecx + eax + 0x20], ebx
cmp byte [0x443095], 1
jne 0x40cf03
cmp byte [0x443094], 0
jne 0x40cf26
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x40d454
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
je 0x40c130
mov eax, edi
shl eax, 4
movups xmm0, xmmword [esi + eax + 0x70]
movups xmmword [ecx + eax + 0x18], xmm0
cmp byte [0x443095], 1
jne 0x40cf43
cmp byte [0x443094], 0
jne 0x40cf66
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x40d469
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x40c19a
add eax, ecx
add eax, 0x1c
mov ecx, edi
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 1
cmp byte [0x443095], 1
jne 0x40cf7d
cmp byte [0x443094], 0
jne 0x40cfa0
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x40d47e
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x40c211
add eax, ecx
add eax, 0x1c
mov ecx, edi
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 0
cmp byte [0x443095], 1
jne 0x40cfb7
cmp byte [0x443094], 0
jne 0x40cfda
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
mov ebx, edx
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp edi, 9
mov dword [esi + 0x14], ebx
sbb ebx, 0
jae 0x40d493
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x40d55a
mov ebx, eax
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x40c2b2
add eax, ecx
add eax, 0x1c
mov dword [esi + 0x10], eax
mov ecx, edi
shl ecx, 4
mov eax, edx
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
mov edx, eax
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov eax, dword [esi + 0x10]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 5
mov dword [esi + 0x10], edx
mov dword [ecx + eax + 0x24], edx
mov dword [ecx + eax + 0x20], ebx
cmp byte [0x443095], 1
jne 0x40d2a4
cmp byte [0x443094], 0
jne 0x40d2c7
jmp 0x40d419
push eax
sub esp, 0xac
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov eax, dword [esi + 0x2c]
mov dword [edi], eax
lea eax, [edi + 8]
push 0xa8
push dword [ebp + 0x1c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [0x443095], 1
jne 0x40cdc1
cmp byte [0x443094], 0
jne 0x40cde0
jmp 0x40cdf9
mov edi, dword [esi + 0x2c]
test edi, edi
mov ecx, dword [ebp + 0x1c]
je 0x40d573
lea eax, [edi + 8]
push 0xa8
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [edi]
cmp byte [0x443095], 1
mov dword [esi + 0x2c], edi
jne 0x40cff1
cmp byte [0x443094], 0
jne 0x40d014
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
mov ebx, edx
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp edi, 9
mov dword [esi + 0x14], ebx
sbb ebx, 0
jae 0x40d4a8
mov ecx, eax
mov dword [esi + 0x10], edx
mov eax, dword [ebp + 0x1c]
mov dword [eax], edi
mov ebx, ecx
mov dword [eax + 4], ecx
cmp byte [0x443095], 1
jne 0x40d032
cmp byte [0x443094], 0
jne 0x40d055
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x40d4bd
mov ebx, edx
mov eax, dword [ebp + 0x1c]
mov dword [eax], edi
cmp byte [0x443095], 1
jne 0x40d072
cmp byte [0x443094], 0
jne 0x40d095
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 4], eax
cmp byte [0x443095], 1
jne 0x40ce01
cmp byte [0x443094], 0
jne 0x40ce24
jmp 0x40d419
mov ecx, eax
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x40d63f
mov ebx, edx
add dword [esi + 0xc], edi
cmp byte [0x443095], 1
jne 0x40ce79
cmp byte [0x443094], 0
jne 0x40ce9c
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x40d4d2
mov dword [esi + 0x10], edx
mov edx, eax
shl edx, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + edx + 0x1c], 0
jne 0x40c4e6
lea edi, [ecx + edx]
add edi, 0x1c
mov ecx, eax
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [edi], 1
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], eax
mov edi, eax
shl edi, 4
mov dword [ecx + edi + 0x18], 6
mov dword [ecx + edi + 0x20], edx
mov dword [ecx + edi + 0x24], 0
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x40d646
mov dword [esi + 0x18], edx
add dword [esi + 0xc], ebx
cmp byte [0x443095], 1
jne 0x40d128
cmp byte [0x443094], 0
jne 0x40d14b
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x40d4e7
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xc]
xor edi, edi
mov ecx, 0xfffffff9
xor ebx, ebx
mov dword [esi + 0x1c], eax
nop dword [eax]
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
cmp eax, dword [esi + 0x20]
je 0x40d605
add ecx, 7
mov dh, byte [eax]
mov byte [esi + 0x18], dh
and dh, 0x7f
movzx edi, dh
xor edx, edx
shld edx, edi, cl
inc eax
xor ebx, ebx
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, ebx
mov ebx, dword [esi + 0x10]
or ebx, edx
mov edx, dword [esi + 0x14]
or edx, edi
mov edi, edx
movzx edx, byte [esi + 0x18]
inc dword [esi + 0x1c]
test dl, dl
js 0x40c580
shr dl, 6
cmp ecx, 0x39
setb dh
add cl, 7
mov eax, 0xffffffff
shl eax, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, eax
mov dword [esi + 0x14], ecx
mov ecx, 0
cmovne eax, ecx
test dl, dh
mov edx, 0
cmove eax, edx
mov ecx, dword [esi + 0x14]
cmove ecx, edx
or edi, eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
mov edx, edi
mov dword [esi + 0x14], edi
mov edi, dword [eax + 0x18]
mov eax, edx
mul edi
mov dword [esi + 0x10], eax
or ebx, ecx
imul ebx, edi
sar edi, 0x1f
imul edi, dword [esi + 0x14]
add edx, edi
add ebx, edx
mov eax, dword [esi + 0x34]
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
mov edi, dword [esi + 0x28]
jne 0x40c65a
add eax, ecx
add eax, 0x1c
mov ecx, edi
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 2
mov dword [ecx + eax + 0x24], ebx
mov edx, dword [esi + 0x10]
mov dword [ecx + eax + 0x20], edx
cmp byte [0x443095], 1
jne 0x40d1cc
cmp byte [0x443094], 0
jne 0x40d1ef
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], edx
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov ecx, 0xfffffff9
mov dword [esi + 0x1c], 0
mov eax, edi
nop word [eax + eax]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
cmp eax, dword [esi + 0x20]
je 0x40d605
add ecx, 7
mov dh, byte [eax]
mov byte [esi + 0x18], dh
and dh, 0x7f
movzx ebx, dh
xor edi, edi
shld edi, ebx, cl
inc eax
shl ebx, cl
test cl, 0x20
cmovne edi, ebx
mov edx, 0
cmovne ebx, edx
movzx edx, byte [esi + 0x18]
or dword [esi + 0x1c], edi
mov edi, dword [esi + 0x14]
or edi, ebx
mov ebx, edi
mov edi, dword [esi + 0x10]
inc edi
test dl, dl
js 0x40c6c0
shr dl, 6
cmp ecx, 0x39
setb dh
add cl, 7
mov eax, 0xffffffff
shl eax, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, eax
mov dword [esi + 0x10], ecx
mov ecx, 0
cmovne eax, ecx
test dl, dh
cmove eax, ecx
mov edx, dword [esi + 0x10]
cmove edx, ecx
mov dword [esi + 0x10], edx
or ebx, eax
mov dword [esi + 0xc], edi
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x18]
mov dword [esi + 0x14], ebx
mov eax, ebx
mul edi
mov ecx, eax
mov ebx, dword [esi + 0x34]
cmp ebx, 9
mov eax, dword [esi + 0x28]
sbb eax, 0
jae 0x40d548
mov eax, dword [ebp + 0x1c]
mov dword [eax], ebx
mov dword [esi + 0x18], ecx
mov dword [eax + 4], ecx
cmp byte [0x443095], 1
jne 0x40d20c
cmp byte [0x443094], 0
jne 0x40d235
jmp 0x40d419
xor ebx, ebx
mov ecx, 0xfffffff9
xor edi, edi
mov dword [esi + 0x1c], eax
nop dword [eax]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
cmp eax, dword [esi + 0x20]
je 0x40d605
add ecx, 7
movzx edx, byte [eax]
mov byte [esi + 0x18], dl
and dl, 0x7f
movzx ebx, dl
xor edx, edx
shld edx, ebx, cl
inc eax
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
mov edi, 0
cmovne ebx, edi
mov edi, dword [esi + 0x10]
or edi, edx
mov edx, dword [esi + 0x14]
or edx, ebx
mov ebx, edx
mov dh, byte [esi + 0x18]
inc dword [esi + 0x1c]
test dh, dh
js 0x40c7a0
shr dh, 6
cmp ecx, 0x39
setb dl
add cl, 7
mov eax, 0xffffffff
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne eax, ecx
test dh, dl
cmove eax, ecx
or ebx, eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
imul ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x1c]
mov dword [eax + 4], ebx
cmp byte [0x443095], 1
jne 0x40cebc
cmp byte [0x443094], 0
jne 0x40cedf
jmp 0x40d419
push edx
lea ebx, [esi + 0xc]
push ebx
mov ebx, edx
call fcn.0040db90
add esp, 8
mov edi, eax
cmp eax, 9
mov dword [esi + 0x10], edx
mov eax, edx
sbb eax, 0
jae 0x40d4f9
push ebx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov ebx, edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x18]
imul ebx, edx
mov ecx, edx
sar ecx, 0x1f
imul ecx, eax
mul edx
mov dword [esi + 0x14], eax
add ebx, edx
add ebx, ecx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
mov edx, edi
jne 0x40c8bc
add eax, ecx
add eax, 0x1c
mov ecx, edx
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
mov edx, edi
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edx
shl eax, 4
mov dword [ecx + eax + 0x18], 4
mov dword [ecx + eax + 0x24], ebx
mov edx, dword [esi + 0x14]
mov dword [ecx + eax + 0x20], edx
cmp byte [0x443095], 1
jne 0x40d0ac
cmp byte [0x443094], 0
jne 0x40d0cf
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x40d512
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xc]
xor edi, edi
mov ecx, 0xfffffff9
xor ebx, ebx
mov dword [esi + 0x1c], eax
nop word cs:[eax + eax]
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
cmp eax, dword [esi + 0x20]
je 0x40d605
add ecx, 7
mov dh, byte [eax]
mov byte [esi + 0x18], dh
and dh, 0x7f
movzx edi, dh
xor edx, edx
shld edx, edi, cl
inc eax
xor ebx, ebx
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmovne edi, ebx
mov ebx, dword [esi + 0x10]
or ebx, edx
mov edx, dword [esi + 0x14]
or edx, edi
mov edi, edx
movzx edx, byte [esi + 0x18]
inc dword [esi + 0x1c]
test dl, dl
js 0x40c930
shr dl, 6
cmp ecx, 0x39
setb dh
add cl, 7
mov eax, 0xffffffff
shl eax, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, eax
mov dword [esi + 0x14], ecx
mov ecx, 0
cmovne eax, ecx
test dl, dh
mov edx, 0
cmove eax, edx
mov ecx, dword [esi + 0x14]
cmove ecx, edx
or edi, eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
mov edx, edi
mov dword [esi + 0x14], edi
mov edi, dword [eax + 0x18]
mov eax, edx
mul edi
mov dword [esi + 0x10], eax
or ebx, ecx
imul ebx, edi
sar edi, 0x1f
imul edi, dword [esi + 0x14]
add edx, edi
add ebx, edx
mov eax, dword [esi + 0x34]
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
mov edi, dword [esi + 0x28]
jne 0x40ca0a
add eax, ecx
add eax, 0x1c
mov ecx, edi
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [eax], 1
mov eax, edi
shl eax, 4
mov dword [ecx + eax + 0x18], 4
mov dword [ecx + eax + 0x24], ebx
mov edx, dword [esi + 0x10]
mov dword [ecx + eax + 0x20], edx
cmp byte [0x443095], 1
jne 0x40d267
cmp byte [0x443094], 0
jne 0x40d28a
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x40d524
mov dword [esi + 0x10], edx
mov edx, eax
shl edx, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + edx + 0x1c], 0
jne 0x40ca8c
lea edi, [ecx + edx]
add edi, 0x1c
mov ecx, eax
shl ecx, 4
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + ecx + 0x18]
movups xmmword [esi + ecx + 0x70], xmm0
mov ecx, dword [ebp + 0x1c]
mov byte [edi], 1
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], eax
mov edi, eax
shl edi, 4
mov dword [ecx + edi + 0x18], 7
mov dword [ecx + edi + 0x20], edx
mov dword [ecx + edi + 0x24], 0
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x40d64d
mov dword [esi + 0x18], edx
add dword [esi + 0xc], ebx
cmp byte [0x443095], 1
jne 0x40d174
cmp byte [0x443094], 0
jne 0x40d197
jmp 0x40d419
push edx
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, eax
mov ebx, edx
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x10], edi
cmp byte [0x443095], 1
jne 0x40ce3f
cmp byte [0x443094], 0
jne 0x40ce62
jmp 0x40d419
push edx
lea edi, [esi + 0xc]
push edi
mov edi, edx
call fcn.0040db90
add esp, 8
cmp eax, 9
sbb edx, 0
jae 0x40d536
mov ebx, eax
push edi
lea eax, [esi + 0xc]
push eax
call fcn.0040db90
add esp, 8
mov edi, edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x18]
imul edi, edx
mov ecx, edx
sar ecx, 0x1f
imul ecx, eax
mul edx
add edi, edx
add edi, ecx
xor ecx, ecx
mov dword [esi + 0x10], eax
neg eax
sbb ecx, edi
mov dword [esi + 0x14], ecx
mov edx, ebx
shl edx, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + edx + 0x1c], 0
jne 0x40cba0
add edx, ecx
add edx, 0x1c
mov dword [esi + 0x18], edx
mov edx, ebx
shl edx, 4
movups xmm0, xmmword [ecx + edx + 0x18]
movups xmmword [esi + edx + 0x70], xmm0
mov edx, dword [esi + 0x18]
mov byte [edx], 1
shl ebx, 4
mov dword [ecx + ebx + 0x18], 2
mov edx, ecx
mov ecx, dword [esi + 0x14]
mov dword [edx + ebx + 0x24], ecx
mov dword [edx + ebx + 0x20], eax
cmp byte [0x443095], 1
jne 0x40d0ec
cmp byte [0x443094], 0
jne 0x40d10f
jmp 0x40d419
mov eax, ebx
and eax, 0x3f
mov dword [esi + 0x14], eax
mov eax, ebx
and al, 0xc0
cmp al, 0x40
je 0x40d2ed
mov eax, ebx
and eax, 0xffffffc0
cmp eax, 0xc0
mov ecx, dword [ebp + 0x1c]
je 0x40d312
cmp eax, 0x80
lea eax, [esi + 0xc]
jne 0x40d57d
mov ecx, dword [esi + 0x14]
cmp cl, 9
jae 0x40d591
push edx
push eax
call fcn.0040db90
add esp, 8
mov edi, edx
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x18]
imul edi, ecx
mov ebx, ecx
sar ebx, 0x1f
imul ebx, eax
mul ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esi + 0x10], eax
add edi, edx
add edi, ebx
mov ebx, dword [esi + 0x14]
mov eax, ebx
shl eax, 4
cmp byte [ecx + eax + 0x1c], 0
jne 0x40cc68
add ecx, eax
add ecx, 0x1c
mov edx, dword [ebp + 0x1c]
movups xmm0, xmmword [edx + eax + 0x18]
movups xmmword [esi + eax + 0x70], xmm0
mov byte [ecx], 1
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + eax + 0x18], 2
mov dword [ecx + eax + 0x24], edi
mov edx, dword [esi + 0x10]
mov dword [ecx + eax + 0x20], edx
cmp byte [0x443095], 1
jne 0x40d392
cmp byte [0x443094], 0
jne 0x40d3b1
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push str.DW_CFA_nop_n
jmp 0x40d024
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push str.DW_CFA_set_loc_n
jmp 0x40d024
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc1:_new_offset_llu_n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc2:_new_offset_llu_n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc4:_new_offset_llu_n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40cdf9
push 2
call dword [0x441e8c]
add esp, 4
push str.DW_CFA_remember_state_n
push eax
call fcn.0040acd0
add esp, 8
mov dword [esi + 0x2c], edi
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
mov ecx, dword [ebp + 0x1c]
push dword [ecx + 4]
push str.DW_CFA_def_cfa_offset__d__n
jmp 0x40cef5
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
push str.DW_CFA_GNU_args_size__llu__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
mov ecx, dword [ebp + 0x1c]
push dword [ecx + 0xc]
push dword [ecx + 8]
push str.DW_CFA_def_cfa_expression_expression0x_llx__length_llu__n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
mov ecx, dword [ebp + 0x1c]
push dword [ecx + 4]
push str.DW_CFA_def_cfa_offset_sf__d__n
push eax
call fcn.0040acd0
add esp, 0xc
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x1c]
push ebx
push dword [esi + 0x10]
push edi
push str.DW_CFA_offset_extended_reg_llu__offset_lld__n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
push str.DW_CFA_restore_extended_reg_llu__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
push str.DW_CFA_undefined_reg_llu__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
push str.DW_CFA_same_value_reg_llu__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push str.DW_CFA_restore_state_n
push eax
call fcn.0040acd0
add esp, 8
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x10]
push ebx
push dword [esi + 0x14]
push edi
push str.DW_CFA_def_cfa_reg_llu__offset_llu__n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push edi
push str.DW_CFA_def_cfa_register__llu__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push str.DW_CFA_val_offset_reg_llu__offset_lld_n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push edi
push dword [esi + 0x10]
push str.DW_CFA_GNU_negative_offset_extended__lld__n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
mov eax, dword [ebp + 0x1c]
add edi, eax
add edi, 0x20
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x18]
push ebx
push dword [edi + 4]
push dword [edi]
push dword [esi + 0x10]
push dword [esi + 0x14]
push str.DW_CFA_expression_reg_llu__expression0x_llx__length_llu__n
jmp 0x40d1be
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
mov eax, dword [ebp + 0x1c]
add edi, eax
add edi, 0x20
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x18]
push ebx
push dword [edi + 4]
push dword [edi]
push dword [esi + 0x10]
push dword [esi + 0x14]
push str.DW_CFA_val_expression_reg_llu__expression0x_llx__length_llu__n
push eax
call fcn.0040acd0
add esp, 0x20
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push dword [esi + 0x10]
push dword [esi + 0x30]
push edi
push str.DW_CFA_offset_extended_sf_reg_llu__offset_lld__n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
mov dword [esi + 0x30], edx
call sub.msvcrt.dll_getenv
mov edx, dword [esi + 0x30]
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
mov ecx, dword [esi + 0x1c]
or ecx, dword [esi + 0x10]
imul ecx, edi
sar edi, 0x1f
mov eax, dword [esi + 0x14]
imul eax, edi
add edx, eax
add edx, ecx
push 2
mov edi, edx
call dword [0x441e8c]
add esp, 4
push edi
push dword [esi + 0x18]
push dword [esi + 0x28]
push ebx
push str.DW_CFA_def_cfa_sf_reg_llu__offset_lld__n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push dword [esi + 0x10]
push dword [esi + 0x30]
push edi
push str.DW_CFA_val_offset_sf_reg_llu__offset_lld_n
jmp 0x40d2df
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x10]
push ebx
push dword [esi + 0x14]
push edi
push str.DW_CFA_register_reg_llu__reg2_llu__n
push eax
call fcn.0040acd0
add esp, 0x18
jmp 0x40d419
movzx eax, byte [esi + 0x14]
mov ecx, dword [ebp + 0x10]
imul eax, dword [ecx + 0x14]
add dword [esi + 0x24], eax
cmp byte [0x443095], 1
jne 0x40d355
cmp byte [0x443094], 0
jne 0x40d378
jmp 0x40d419
mov eax, dword [esi + 0x14]
movzx edi, al
cmp al, 9
jae 0x40d5a9
mov eax, edi
shl eax, 4
cmp byte [ecx + eax + 0x1c], 0
je 0x40d336
movups xmm0, xmmword [esi + eax + 0x70]
movups xmmword [ecx + eax + 0x18], xmm0
cmp byte [0x443095], 1
jne 0x40d3d1
cmp byte [0x443094], 0
jne 0x40d3f0
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc:_new_offset_llu_n
jmp 0x40d410
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push edi
push dword [esi + 0x10]
push ebx
push str.DW_CFA_offset_reg_d__offset_lld__n
push eax
call fcn.0040acd0
add esp, 0x14
jmp 0x40d419
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d419
push 2
call dword [0x441e8c]
add esp, 4
push 0
push edi
push str.DW_CFA_restore_reg_llu__n
nop word cs:[eax + eax]
push eax
call fcn.0040acd0
add esp, 0x10
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x20]
cmp edi, edx
jae 0x40be90
mov eax, dword [esi + 0x24]
cmp eax, dword [esi + 0x38]
jb 0x40bf30
jmp 0x40be90
mov al, 1
jmp 0x40d575
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_offset_extended_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_restore_extended_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_undefined_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_same_value_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_register_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_register_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_expression_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_offset_extended_sf_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push dword [esi + 0x10]
push edi
push str.libunwind:_malformed_DW_CFA_val_offset_DWARF_unwind__reg___llu__out_of_range_n_n
jmp 0x40d5bc
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_val_offset_sf_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_val_expression_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_GNU_negative_offset_extended_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_sf_DWARF_unwind__reg_too_big_n
jmp 0x40d56a
push 2
call dword [0x441e8c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_register_DWARF_unwind__reg2_too_big_n
push eax
call fcn.0040acd0
add esp, 8
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [0x443095], 1
jne 0x40d5c7
cmp byte [0x443094], 0
jne 0x40d5e6
jmp 0x40d573
movzx edi, cl
push 2
call dword [0x441e8c]
add esp, 4
push 0
push edi
push str.libunwind:_malformed_DW_CFA_offset_DWARF_unwind__reg___llu__out_of_range_n
jmp 0x40d5bc
push 2
call dword [0x441e8c]
add esp, 4
push 0
push edi
push str.libunwind:_malformed_DW_CFA_restore_DWARF_unwind__reg___llu__out_of_range_n
push eax
call fcn.0040acd0
add esp, 0x10
jmp 0x40d573
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x443095], 1
test eax, eax
setne byte [0x443094]
je 0x40d573
push 2
call dword [0x441e8c]
add esp, 4
push ebx
push str.unknown_CFA_opcode_0x_02X_n
push eax
call fcn.0040acd0
add esp, 0xc
jmp 0x40d573
push 2
mov edi, dword [fcn.0040a820]
call edi
add esp, 4
push str.truncated_sleb128_expression
push str.getSLEB128
push str.libunwind:__s____s_n
push eax
call fcn.0040acd0
add esp, 0x10
push 2
call edi
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
call sub.msvcrt.dll_abort
push 0x269
jmp 0x40d652
push 0x279
jmp 0x40d652
push 0x2cc
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libunwind_src_DwarfParser.hpp
push str.length___static_cast_pint_t__0____pointer_overflow_
call dword [sym.imp.msvcrt.dll__assert]
nop
dec ecx
mov edi, -1083703232
inc eax
add byte [ecx - 0x2bffbf41], ah
mov edi, 0xc0070040
inc eax
add byte [ecx], bh
rol byte [eax], 0xf3
rol byte [eax], 0x4f
rol dword [eax], 0xc6
rol dword [eax], 0x3d
ret 0x40