Function at 0x4357e0
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 0x43583d
mov eax, dword [esi + 0x3c]
inc eax
cmp eax, 2
je 0x436dd8
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 [0x4694a1], 1
jne 0x435870
cmp byte [0x4694a0], 0
mov ebx, dword [esi + 0x20]
jne 0x435892
jmp 0x4358b1
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
mov ebx, dword [esi + 0x20]
je 0x4358b1
push 2
call dword [0x46807c]
add esp, 4
push 0
push ebx
push str.parseFDEInstructions_instructions0x_0llx__n
push eax
call fcn.0042dfe0
add esp, 0x10
mov edi, dword [esi + 0xc]
cmp edi, ebx
jae 0x435830
cmp dword [esi + 0x38], 0
je 0x435830
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.0x4358e2.23
jmp dword [ebx*4 + 0x437004]
cmp byte [0x4694a1], 1
jne 0x43663a
cmp byte [0x4694a0], 0
jne 0x43665d
jmp 0x436db9
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.00437300
mov dword [esi + 0x24], eax
cmp byte [0x4694a1], 1
jne 0x436672
cmp byte [0x4694a0], 0
jne 0x436695
jmp 0x436db9
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 [0x4694a1], 1
jne 0x4366aa
cmp byte [0x4694a0], 0
jne 0x4366cd
jmp 0x436db9
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 [0x4694a1], 1
jne 0x4366e7
cmp byte [0x4694a0], 0
jne 0x43670a
jmp 0x436db9
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 [0x4694a1], 1
jne 0x436724
cmp byte [0x4694a0], 0
jne 0x436747
jmp 0x436db9
push edx
lea edi, [esi + 0xc]
push edi
mov ebx, edx
call fcn.00437530
add esp, 8
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], edx
push ebx
push edi
call fcn.00437530
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 0x436ddf
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 0x435a59
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 [0x4694a1], 1
jne 0x4368a3
cmp byte [0x4694a0], 0
jne 0x4368c6
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x436df4
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
je 0x435ad0
mov eax, edi
shl eax, 4
movups xmm0, xmmword [esi + eax + 0x70]
movups xmmword [ecx + eax + 0x18], xmm0
cmp byte [0x4694a1], 1
jne 0x4368e3
cmp byte [0x4694a0], 0
jne 0x436906
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x436e09
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x435b3a
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 [0x4694a1], 1
jne 0x43691d
cmp byte [0x4694a0], 0
jne 0x436940
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x436e1e
mov ebx, edx
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x435bb1
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 [0x4694a1], 1
jne 0x436957
cmp byte [0x4694a0], 0
jne 0x43697a
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
mov ebx, edx
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp edi, 9
mov dword [esi + 0x14], ebx
sbb ebx, 0
jae 0x436e33
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x436efa
mov ebx, eax
mov eax, edi
shl eax, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + eax + 0x1c], 0
jne 0x435c52
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 [0x4694a1], 1
jne 0x436c44
cmp byte [0x4694a0], 0
jne 0x436c67
jmp 0x436db9
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 [0x4694a1], 1
jne 0x436761
cmp byte [0x4694a0], 0
jne 0x436780
jmp 0x436799
mov edi, dword [esi + 0x2c]
test edi, edi
mov ecx, dword [ebp + 0x1c]
je 0x436f13
lea eax, [edi + 8]
push 0xa8
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [edi]
cmp byte [0x4694a1], 1
mov dword [esi + 0x2c], edi
jne 0x436991
cmp byte [0x4694a0], 0
jne 0x4369b4
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
mov ebx, edx
push dword [esi + 0x20]
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp edi, 9
mov dword [esi + 0x14], ebx
sbb ebx, 0
jae 0x436e48
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 [0x4694a1], 1
jne 0x4369d2
cmp byte [0x4694a0], 0
jne 0x4369f5
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
cmp eax, 9
mov eax, edx
sbb eax, 0
jae 0x436e5d
mov ebx, edx
mov eax, dword [ebp + 0x1c]
mov dword [eax], edi
cmp byte [0x4694a1], 1
jne 0x436a12
cmp byte [0x4694a0], 0
jne 0x436a35
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + 4], eax
cmp byte [0x4694a1], 1
jne 0x4367a1
cmp byte [0x4694a0], 0
jne 0x4367c4
jmp 0x436db9
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.00437530
add esp, 8
mov edi, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x436fdf
mov ebx, edx
add dword [esi + 0xc], edi
cmp byte [0x4694a1], 1
jne 0x436819
cmp byte [0x4694a0], 0
jne 0x43683c
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x436e72
mov dword [esi + 0x10], edx
mov edx, eax
shl edx, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + edx + 0x1c], 0
jne 0x435e86
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.00437530
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x436fe6
mov dword [esi + 0x18], edx
add dword [esi + 0xc], ebx
cmp byte [0x4694a1], 1
jne 0x436ac8
cmp byte [0x4694a0], 0
jne 0x436aeb
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x436e87
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 0x436fa5
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 0x435f20
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 0x435ffa
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 [0x4694a1], 1
jne 0x436b6c
cmp byte [0x4694a0], 0
jne 0x436b8f
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
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 0x436fa5
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 0x436060
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 0x436ee8
mov eax, dword [ebp + 0x1c]
mov dword [eax], ebx
mov dword [esi + 0x18], ecx
mov dword [eax + 4], ecx
cmp byte [0x4694a1], 1
jne 0x436bac
cmp byte [0x4694a0], 0
jne 0x436bd5
jmp 0x436db9
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 0x436fa5
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 0x436140
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 [0x4694a1], 1
jne 0x43685c
cmp byte [0x4694a0], 0
jne 0x43687f
jmp 0x436db9
push edx
lea ebx, [esi + 0xc]
push ebx
mov ebx, edx
call fcn.00437530
add esp, 8
mov edi, eax
cmp eax, 9
mov dword [esi + 0x10], edx
mov eax, edx
sbb eax, 0
jae 0x436e99
push ebx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
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 0x43625c
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 [0x4694a1], 1
jne 0x436a4c
cmp byte [0x4694a0], 0
jne 0x436a6f
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x436eb2
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 0x436fa5
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 0x4362d0
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 0x4363aa
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 [0x4694a1], 1
jne 0x436c07
cmp byte [0x4694a0], 0
jne 0x436c2a
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
cmp eax, 9
mov ecx, edx
sbb ecx, 0
jae 0x436ec4
mov dword [esi + 0x10], edx
mov edx, eax
shl edx, 4
mov ecx, dword [ebp + 0x1c]
cmp byte [ecx + edx + 0x1c], 0
jne 0x43642c
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.00437530
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
mov eax, edx
sbb eax, 0
jae 0x436fed
mov dword [esi + 0x18], edx
add dword [esi + 0xc], ebx
cmp byte [0x4694a1], 1
jne 0x436b14
cmp byte [0x4694a0], 0
jne 0x436b37
jmp 0x436db9
push edx
lea eax, [esi + 0xc]
push eax
call fcn.00437530
add esp, 8
mov edi, eax
mov ebx, edx
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x10], edi
cmp byte [0x4694a1], 1
jne 0x4367df
cmp byte [0x4694a0], 0
jne 0x436802
jmp 0x436db9
push edx
lea edi, [esi + 0xc]
push edi
mov edi, edx
call fcn.00437530
add esp, 8
cmp eax, 9
sbb edx, 0
jae 0x436ed6
mov ebx, eax
push edi
lea eax, [esi + 0xc]
push eax
call fcn.00437530
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 0x436540
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 [0x4694a1], 1
jne 0x436a8c
cmp byte [0x4694a0], 0
jne 0x436aaf
jmp 0x436db9
mov eax, ebx
and eax, 0x3f
mov dword [esi + 0x14], eax
mov eax, ebx
and al, 0xc0
cmp al, 0x40
je 0x436c8d
mov eax, ebx
and eax, 0xffffffc0
cmp eax, 0xc0
mov ecx, dword [ebp + 0x1c]
je 0x436cb2
cmp eax, 0x80
lea eax, [esi + 0xc]
jne 0x436f1d
mov ecx, dword [esi + 0x14]
cmp cl, 9
jae 0x436f31
push edx
push eax
call fcn.00437530
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 0x436608
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 [0x4694a1], 1
jne 0x436d32
cmp byte [0x4694a0], 0
jne 0x436d51
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push str.DW_CFA_nop_n
jmp 0x4369c4
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push str.DW_CFA_set_loc_n
jmp 0x4369c4
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc1:_new_offset_llu_n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc2:_new_offset_llu_n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc4:_new_offset_llu_n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436799
push 2
call dword [0x46807c]
add esp, 4
push str.DW_CFA_remember_state_n
push eax
call fcn.0042dfe0
add esp, 8
mov dword [esi + 0x2c], edi
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
mov ecx, dword [ebp + 0x1c]
push dword [ecx + 4]
push str.DW_CFA_def_cfa_offset__d__n
jmp 0x436895
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push ebx
push edi
push str.DW_CFA_GNU_args_size__llu__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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.0042dfe0
add esp, 0xc
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push ebx
push edi
push str.DW_CFA_restore_extended_reg_llu__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push ebx
push edi
push str.DW_CFA_undefined_reg_llu__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push ebx
push edi
push str.DW_CFA_same_value_reg_llu__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push str.DW_CFA_restore_state_n
push eax
call fcn.0042dfe0
add esp, 8
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push ebx
push edi
push str.DW_CFA_def_cfa_register__llu__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push edi
push dword [esi + 0x10]
push str.DW_CFA_GNU_negative_offset_extended__lld__n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
mov eax, dword [ebp + 0x1c]
add edi, eax
add edi, 0x20
push 2
call dword [0x46807c]
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 0x436b5e
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
mov eax, dword [ebp + 0x1c]
add edi, eax
add edi, 0x20
push 2
call dword [0x46807c]
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.0042dfe0
add esp, 0x20
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
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 [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
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 [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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 0x436c7f
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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.0042dfe0
add esp, 0x18
jmp 0x436db9
movzx eax, byte [esi + 0x14]
mov ecx, dword [ebp + 0x10]
imul eax, dword [ecx + 0x14]
add dword [esi + 0x24], eax
cmp byte [0x4694a1], 1
jne 0x436cf5
cmp byte [0x4694a0], 0
jne 0x436d18
jmp 0x436db9
mov eax, dword [esi + 0x14]
movzx edi, al
cmp al, 9
jae 0x436f49
mov eax, edi
shl eax, 4
cmp byte [ecx + eax + 0x1c], 0
je 0x436cd6
movups xmm0, xmmword [esi + eax + 0x70]
movups xmmword [ecx + eax + 0x18], xmm0
cmp byte [0x4694a1], 1
jne 0x436d71
cmp byte [0x4694a0], 0
jne 0x436d90
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push 0
push dword [esi + 0x24]
push str.DW_CFA_advance_loc:_new_offset_llu_n
jmp 0x436db0
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
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.0042dfe0
add esp, 0x14
jmp 0x436db9
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436db9
push 2
call dword [0x46807c]
add esp, 4
push 0
push edi
push str.DW_CFA_restore_reg_llu__n
nop word cs:[eax + eax]
push eax
call fcn.0042dfe0
add esp, 0x10
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x20]
cmp edi, edx
jae 0x435830
mov eax, dword [esi + 0x24]
cmp eax, dword [esi + 0x38]
jb 0x4358d0
jmp 0x435830
mov al, 1
jmp 0x436f15
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_offset_extended_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_restore_extended_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_undefined_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_same_value_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_register_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_register_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_expression_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_offset_extended_sf_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
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 0x436f5c
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_val_offset_sf_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_val_expression_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_GNU_negative_offset_extended_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_def_cfa_sf_DWARF_unwind__reg_too_big_n
jmp 0x436f0a
push 2
call dword [0x46807c]
add esp, 4
push str.libunwind:_malformed_DW_CFA_register_DWARF_unwind__reg2_too_big_n
push eax
call fcn.0042dfe0
add esp, 8
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [0x4694a1], 1
jne 0x436f67
cmp byte [0x4694a0], 0
jne 0x436f86
jmp 0x436f13
movzx edi, cl
push 2
call dword [0x46807c]
add esp, 4
push 0
push edi
push str.libunwind:_malformed_DW_CFA_offset_DWARF_unwind__reg___llu__out_of_range_n
jmp 0x436f5c
push 2
call dword [0x46807c]
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.0042dfe0
add esp, 0x10
jmp 0x436f13
push str.LIBUNWIND_PRINT_DWARF
call sub.msvcrt.dll_getenv
add esp, 4
mov byte [0x4694a1], 1
test eax, eax
setne byte [0x4694a0]
je 0x436f13
push 2
call dword [0x46807c]
add esp, 4
push ebx
push str.unknown_CFA_opcode_0x_02X_n
push eax
call fcn.0042dfe0
add esp, 0xc
jmp 0x436f13
push 2
mov edi, dword [fcn.004341e0]
call edi
add esp, 4
push str.truncated_sleb128_expression
push str.getSLEB128
push str.libunwind:__s____s_n
push eax
call fcn.0042dfe0
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 0x436ff2
push 0x279
jmp 0x436ff2
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
jmp 0x843b361